JVM常用调优参数

-Xms: 初始大小内存 ,默认为物理内存1/64  等价于 -XX:InitialHeapSize

-Xmx:最大分配内存,默认为物理内存的1/4 等价于 -XX:MaxHeapSize

-Xss:设置单个线程栈的大小,一般默认为512kb-1024kb 等价于 -XX:ThreadStackSize

-Xmn:设置年轻代大小

-XX:MetaspaceSize : 设置元空间大小

-XX:+PrintGCDetails :输出GC详情信息日志(-Xms10m -Xmx10m -XX:+PrintGCDetails)

-XX:SurvivorRatio :设置新生代中的eden和s0/s1空间的比例,默认(-XX:SurvivorRatio=8,Eden:S0:S1 = 8:1:1 

                                    假如(-XX:SurvivorRatio=4,Eden:S0:S1 = 4:1:1SurvivorRatio的值就是eden的占比多少 s0/s1相同

                                (-Xms10m -Xmx10m -XX:+PrintGCDetails -XX:+UseSerialGC -XX:SurvivorRatio=4)

-XX:NewRatio :配置年轻代与老年代在堆结构的占比,默认(-XX:NewRatio=2 新生代占1,老年代占2,年轻代占整个堆的1/3)

                假如((-XX:NewRatio=4 新生代占1,老年代占4,年轻代占整个堆的1/5NewRatio值就是设置老年代的占比,剩下的1给新生代

-XX:MaxTenuringThreshold :设置垃圾最大年龄  默认15次 只能在0-15次内设置

********************************************************

-Xms128m -Xmx4096m -Xss1024k -XX:MetaspaceSize=512M -XX:+PrintCommandLineFlags -XX:+PrintGCDetails -XX:UseSerialGC

添加后

-XX:InitialHeapSize=134217728

 -XX:MaxHeapSize=4294967296

 -XX:MetaspaceSize=536870912

 -XX:+PrintCommandLineFlags

 -XX:+PrintGCDetails

 -XX:ThreadStackSize=1024

 -XX:+UseCompressedClassPointers

 -XX:+UseCompressedOops

 -XX:-UseLargePagesIndividualAllocation

 -XX:+UseSerialGC  串行垃圾回收器

*****************************

java -XX:+PrintCommandLineFlags -version  查看JVM默认参数

查看进程:jps -l

查看进程的初始值:jinfo -flag PrintGCDetails 109052

                jinfo -flags 109052

 查看:jstack 109052

 公式:-XX:属性key=属性值value

      -XX:MetaspaceSize=128m

java -XX:+PrintFlagsInitial  查看初始化的值

java -XX:+PrintFlagsFinal -version  查看修改  ":="表示修改过

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容