JVM常用调优参数

堆栈内存相关

  • -Xms 设置初始堆的大小
  • -Xmx 设置最大堆的大小
  • -Xmn 设置年轻代大小,相当于同时配置-XX:NewSize和-XX:MaxNewSize为一样的值
  • -Xss 每个线程的堆栈大小
  • -XX:NewSize 设置年轻代大小(for 1.3/1.4)
  • -XX:MaxNewSize 年轻代最大值(for 1.3/1.4)
  • -XX:NewRatio 年轻代与年老代的比值(除去持久代)
  • -XX:SurvivorRatio Eden区与Survivor区的的比值
  • -XX:PretenureSizeThreshold 当创建的对象超过指定大小时,直接把对象分配在老年代。
  • -XX:MaxTenuringThreshold设定对象在Survivor复制的最大年龄阈值,超过阈值转移到 老年代

垃圾收集器相关

  • -XX:+UseParallelGC:选择垃圾收集器为并行收集器。
  • -XX:ParallelGCThreads=20:配置并行收集器的线程数
  • -XX:+UseConcMarkSweepGC:设置年老代为并发收集。
  • -XX:CMSFullGCsBeforeCompaction=5 由于并发收集器不对内存空间进行压缩、整理, 所以运行一段时间以后会产生"碎片",使得运行效率降低。此值设置运行5次GC以后对内 存空间进行压缩、整理。
  • -XX:+UseCMSCompactAtFullCollection:打开对年老代的压缩。可能会影响性能,但是 可以消除碎片

辅助信息相关

  • -XX:+PrintGCDetails 打印GC详细信息
  • -XX:+HeapDumpOnOutOfMemoryError让JVM在发生内存溢出的时候自动生成内存快照, 排查问题用
  • -XX:+DisableExplicitGC禁止系统System.gc(),防止手动误触发FGC造成问题.
  • -XX:+PrintTLAB 查看TLAB空间的使用情况
相关推荐
woxihuan1234561 分钟前
HTML怎么构建课程学习仪表盘_HTML进度环+任务列表【教程】
jvm·数据库·python
三产3 分钟前
Hermes 教程 03:Skills 系统
android·java·数据库
2401_884454153 分钟前
mysql数据库执行全量备份影响业务_利用xtrabackup实现无锁备份
jvm·数据库·python
AbandonForce3 分钟前
C++11:列表初始化||右值和移动语义||引用折叠和完美转发||可变参数模板||lambda表达式||包装器(function bind)
开发语言·数据结构·c++·算法
starsky762383 分钟前
spring boot——前后端分离
java·spring boot·后端
jiayong234 分钟前
IDEA 中进行分支双向同步操作指南
java·ide·intellij-idea
AI玫瑰助手4 分钟前
Python流程控制:for循环遍历字符串列表字典
android·java·python
java修仙传5 分钟前
Java 实习日志:一次报价规则适配、列表规则精简与导入校验修复
java·实习
m0_631529825 分钟前
SQL复杂数据聚合_嵌套子查询与GROUP BY配合
jvm·数据库·python
萨小耶5 分钟前
[Java学习日记07】聊聊接口和抽象类
java·开发语言·学习