1.设置端口号启动
bash
java -jar xxx.jar --server.port=8090
2.设置后台启动
bash
nohup java -jar xxx.jar --server.port=8090 &
3.设置启动的Xmx,Xms,Xmn,Xss
1.简介Xmx,Xms,Xmn,Xss
| 参数 | 全称 / 类似参数 | 含义 | 作用 | 配置建议 |
|---|---|---|---|---|
-Xmx |
-XX:MaxHeapSize |
最大堆大小 | 设置JVM堆内存的最大值。堆是存放对象实例的主要区域。 | * 设置原则: 根据应用实际需求设定,避免过小导致OOM或过大影响系统。 |
-Xms |
-XX:InitialHeapSize |
初始堆大小 | 设置JVM启动时堆内存的初始大小。 | * 建议: 可设为-Xmx的 1/4 (25%) 或 1/2 (50%) |
-Xmn |
-XX:NewSize, -XX:MaxNewSize |
新生代大小 | 设置JVM堆内存中新生代(Young Generation)的大小。 | * 推荐比例: 通常设为-Xmx****的 1/4 到 1/3。建议用-XX:NewSize=128m替代 -Xmn128m |
-Xss |
-XX:ThreadStackSize |
线程栈大小 | 设置每个Java线程私有的虚拟机栈的大小。 | * 常见设置: 512k 或 1m 是比较通用的配置。 * 注意: 调整需谨慎,过大会因占用过多内存而限制总线程数。 |
2.推荐配置
| 场景 | 堆内存 (-Xmx/-Xms) | 新生代 (-Xmn) | 线程栈 (-Xss) | 配置示例 |
|---|---|---|---|---|
| 小型应用 | 512m / 256m | 128m | 256k | -Xmx512m -Xms256m -Xmn128m -Xss256k 或-Xmx512m -Xms256m -XX:NewSize=128m -Xss256k |
| 中型应用 | 1024m / 512m | 256m | 512k | -Xmx1024m -Xms512m -Xmn256m -Xss512k 或 -Xmx1024m -Xms512m -XX:NewSize=256m -Xss512k |
| 大型应用 | 2048m / 1024m | 512m | 512k | -Xmx2048m -Xms1024m -Xmn512m -Xss512k 或 -Xmx2048m -Xms1024m -XX:NewSize=512m -Xss512k |
| 内存充裕 | 4096m / 2048m | 1024m | 512k | -Xmx4096m -Xms2048m -Xmn1024m -Xss512k 或 -Xmx4096m -Xms2048m -XX:NewSize=1024m -Xss512k |
1.512m
bash
nohup $java_home/bin/java -server -Xmx512m -Xms256m -XX:NewSize=128m -Xss256k -jar /data/$Item/jar/"$Server_Name".jar > /data/$Item/start_logs/"$Server_Name".log 2>&1 &
2.1024m
bash
nohup $java_home/bin/java -server -Xmx1024m -Xms512m -XX:NewSize=256m -Xss512k -jar /data/$Item/jar/$Server_Name/"$Server_Name".jar > /data/$Item/start_logs/"$Server_Name".log 2>&1 &
3.2048m
bash
nohup $java_home/bin/java -server -Xmx2048m -Xms1024m -XX:NewSize=512m -Xss512k -jar /data/$Item/jar/$Server_Name/"$Server_Name".jar > /data/$Item/start_logs/"$Server_Name".log 2>&1 &
4.4096m
bash
nohup $java_home/bin/java -server -Xmx4096m -Xms2048m -XX:NewSize=1024m -Xss512k -jar /data/$Item/jar/$Server_Name/"$Server_Name".jar > /data/$Item/start_logs/"$Server_Name".log 2>&1 &
4.指定nacos启动(windows)
bash
start "" /B java -server -Xms4096m -Xmx12288m -Xmn4096m -Xss512k -Dfile.encoding=UTF8 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:gc.log -jar -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./dump.hprof -Dspring.cloud.nacos.config.server-addr=127.0.0.1:8848 -Dspring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 -Dspring.cloud.nacos.config.namespace=public -Dspring.cloud.nacos.discovery.namespace=public -Dspring.cloud.nacos.discovery.instance-id=jgpt-zhgd-biz-instance-1 -Dspring.application.instance-id=jgpt-zhgd-biz-instance-1 %JAR_NAME%.jar >nul 2>&1