SpringBoot JVM参数调优

JVM内存模型图

1.  jar包启动时添加如下参数

java -Xms1024m -Xmx1024m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:SurvivorRatio=8 -jar xxx.jar

2. 常用参数: https://blog.csdn.net/WZH577/article/details/109562786

3. 内存优化:

栈: 1M, 一个线程1M, 一个线上Tomcat项目可能有300个线程, 就是300M;

堆: 一般会把机器物理内存的一半分给堆;
32位操作系统, 单个进程内存的最大寻址空间为2的32次方, 也就是4G内存, 故-Xmx一般小于2G
64位操作系统, 单个进程内存的最大寻址空间为2的64次方, 非常大, 故-Xmx最大值可以认为是无限大

元空间: 正常512M肯定够了;

 4. 服务器查看jvm信息

 jmap -heap 进程id

 5. 增加gc日志输出和oom dump文件输出

java -Xms1024m -Xmx1024m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:SurvivorRatio=8 
     -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/app/gc/gc.log 
     -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/dump/heapdump.hprof
     -Dfile.encoding=utf-8
     -jar xxx.jar

 

posted @ 2022-08-13 15:37  Sherlock先生  阅读(2555)  评论(0编辑  收藏  举报