【IT老齐042】生产环境JVM参数与垃圾回收GC
【IT老齐042】生产环境JVM参数与垃圾回收GC
- 最大堆和最小堆大小
- GC收集器
- 新生代(年轻代)大小
JVM选项规则
+代表开启/-代表关闭
- java -version 标准选项,任何版本JVM/任何平台都可以使用
- java -Xms10m 非标准选项,部分版本识别
- java -XX:+PrintGCDetails 不稳定参数,不同JVM有差异,随时可能会被移除,
JVM优化选项
java -jar -XX:+UseG1GC -Xms2G -Xmx2G -Xss256k
-XX:MaxGCPauseMillis=300 -Xloggc:/logs/gc.log -XX:+PrintGCTimeStamps
-XX:+PrintGCDetails test.jar
- 1.8+优先使用G1收集器,摆脱各种选项烦恼
- -Xms与-Xmx设置相同,减少内存交换
- 评估Xmx方法: 第一次起始设置大一点,跟踪监控日志,调整为堆峰值*2~3即可
- 最多300毫秒STW时间,200~~500区间,增大可减少GC次数,提高吞吐
- -Xss128k/256k 虚拟机栈空间一般128K就够用了。超过256k考虑优化,不建议超过256k
- G1一般不设置新生代的大小,G1新生代是动态调整的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!