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 @   Sherlock先生  阅读(2742)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示