vlambda博客
学习文章列表

常用的 JVM 调优的参数都有哪些?

-Xms2g:初始化推大小为 2g;

-Xmx2g:堆最大内存为 2g;

-XX:PermSize=10M 表示JVM初始分配的永久代(方法区)的容量

-XX:MaxPermSize=10M 表示JVM允许分配的永久代(方法区)的最大容量,大部分情况下这个参数默认为64M

-Xmn20M 表示设置年轻代的大小为20M

-XX:PretenureSizeThreshold=3145728 表示对象大于3145728(3M)时直接进入老年代分配,这里只能以字节作为单位

-XX:NewRatio=4:设置年轻的和老年代的内存比例为 1:4;

-XX:SurvivorRatio=8:设置新生代 Eden 和 Survivor 比例为 8:2;

–XX:+UseParNewGC:指定使用 ParNew + Serial Old 垃圾回收器 组合;

-XX:+UseParallelOldGC:指定使用 ParNew + ParNew Old 垃圾回收器组合;

-XX:+UseConcMarkSweepGC:指定使用 CMS + Serial Old 垃圾回收器组 合; -XX:+PrintGC:开启打印 gc 信息;

-XX:+PrintGCDetails:打印 gc 详细信息。

-XX:+PrintTLAB 表示可以看到TLAB的使用情况

-XX:+DisableExplictGC 线上环境一定要打开,避免写System.gc(),开启的话手动gc就不管用 ,FGC

-XX:+UseSpining 开启自旋锁

-XX:PreBlockSpin 更改自旋锁的自旋次数,使用这个参数必须先开启自旋锁

-XX:+PrintGCApplicationStoppedTime(重要性低) 打印暂停时长


------------------------

欢迎访问个人网站:

https://lessthinker.com

欢迎使用个人小程序: