Linux运行发布jar文件携带哪些参数 linux运行jar包命令
摘要:在 CentOS 8 上运行发布的 JAR 文件时,可以根据不同需求携带以下参数: 1. 基本运行方式 bash 复制 下载 java -jar your-application.jar 2. 常用 JVM 参数 参数 说明 -Xms256m 初始堆内存大小(如256MB) -Xmx1024m 最大堆内存大小(如1GB) -XX:MaxMetaspaceSize=256m,Linux运行发布jar文件携带哪些参数 linux运行jar包命令
在 CentOS 8 上运行发布的 JAR 文件时,可以根据不同需求携带 下面内容参数:
1. 基本运行方式
bash
下载
java -jar your-application.jar2. 常用 JVM 参数
-Xms256m | 初始堆内存 大致(如 256MB) |
-Xmx1024m | 最大堆内存 大致(如 1GB) |
-XX:MaxMetaspaceSize=256m | 元空间内存上限 |
-XX:+UseG1GC | 启用 G1 垃圾回收器(推荐 JDK 8+) |
-XX:+HeapDumpOnOutOfMemoryError | OOM 时生成堆转储文件 |
-XX:HeapDumpPath=/path/to/dump.hprof | 指定堆转储文件路径 |
示例:
bash
下载
java -Xms512m -Xmx2048m -XX:+UseG1GC -jar your-application.jar3. 应用配置参数
3.1 指定 Spring Boot Profile
bash
下载
java -jar your-application.jar --spring.profiles.active=prod3.2 覆盖配置文件属性
bash
下载
java -jar your-application.jar --server.port=8081 --spring.datasource.url=jdbc:mysql://localhost:3306/db4. 日志与输出控制
-Dlogging.file=/var/log/app.log | 指定日志文件路径 |
-Dlogging.level.root=INFO | 设置日志级别 |
> /dev/null 2>&1 & | 后台运行并丢弃输出 |
nohup java -jar app.jar & | 退出终端后继续运行 |
示例:
bash
下载
nohup java -jar your-application.jar --spring.profiles.active=prod > /var/log/app.log 2>&1 &5. 安全相关参数
-Djava.security.egd=file:/dev/./urandom | 加速随机数生成(避免熵池阻塞) |
-Duser.timezone=GMT+8 | 设置时区(如 Asia/Shanghai) |
6. 调试参数(开发环境)
bash
下载
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar your-application.jar通过端口 5005 远程调试。
7. 完整示例
生产环境启动命令:
bash
下载
nohup java -Xms512m -Xmx2048m -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/./urandom -Duser.timezone=Asia/Shanghai -Dlogging.file=/var/log/app.log -jar /opt/your-application.jar --spring.profiles.active=prod --server.port=8080 > /dev/null 2>&1 &8. 注意事项
内存分配:-Xmx 不应超过 体系可用内存的 70%。
后台运行:建议使用 systemd 托管服务(见下方补充)。
权限 难题:确保用户对 JAR 文件和日志目录有读写权限。
补充:使用 systemd 托管服务
创建服务文件 /etc/systemd/system/yourapp.service:
ini
下载
[Unit] Description=Your Java Application After=syslog.target network.target [Service] User=appuser WorkingDirectory=/opt ExecStart=/usr/bin/java -jar /opt/your-application.jar --spring.profiles.active=prod Restart=always [Install] WantedBy=multi-user.target管理命令:
bash
下载
sudo systemctl daemon-reload sudo systemctl start yourapp sudo systemctl enable yourapp nohup java -Xms512m -Xmx2048m -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/./urandom -Duser.timezone=Asia/Shanghai -Dlogging.file=/var/log/yipong-server.log -jar /home/service/yipong-server.jar --spring.profiles.active=prod --server.port=48080 > /dev/null 2>&1 &