微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JVM调优的基本配置参数

目录

Java中可以作为GC Roots的对象有哪些

JVM调优

JVM常用的基本配置参数有哪些


什么是GC Roots

因为确立垃圾方法引用记数法,但是会产生循环引用,所以引出了另一种方法可达性分析

基本思想是通过一系列名为“GC Roots”的对象作为起始点,向下搜索,能被遍历到的就判定为存活,否则为死亡。要经过两次标记

Java中可以作为GC Roots的对象有哪些

1.虚拟机栈(栈帧中的局部变量区,也叫局部变量表)中引用的对象。

2.方法区中的类静态属性引用的对象。

3.方法区中常量引用的对象。

4.本地方法栈中JNI引用的对象。

JVM调优

JVM的参数类型:

1.标配参数,如-version , -help ,Java -showversion

2.X参数(了解)如 -Xint ,-Xcomp , -Xmixed

3.XX参数(重点) 

    (1)Boolean类型  查找某个jvm参数是否开启     公式:  -XX:+或者-  某个属性值;  其中+表示开启,-表示关闭

jps -l 看所有正在运行的Java程序,jinfo -flag printGCDetails 参数一个正在运行的Java程序

 

        (2)KV设值类型    公式: -XX:属性key=属性值value  查看某个参数的具体值

 元空间认为21M左右。可以设置元空间大小,也可以设置MaxTenuringThreshold=15即进入老年区的年龄。

还有以下命令: jinfo -flags 进程参数 查某个参数的所有,类似模糊查询

两个经典参数 -xms -Xmx也属于以上几种

-xms等价于-XX:InitialHeapSize;  Xmx等价于-XX:MaxHeapSize

重点命令: -XX:+PrintFlagsInitial  查看参数盘点家底,能查看并打印所有初始认参数

                   -XX:+PrintFlagsFinal -version  查看修改更新后的参数值

 其中直接=的是认初始值,有:=的是改过的值

JVM常用的基本配置参数有哪些

-xms 初始内存大小,认物理内存的1/64      -Xmx   最大分配内存,认物理内存的1/4  

-Xss   设置单个线程的大小,认为512k~1024k   等价于 -XX:ThreadStackSize

-Xmn   设置年轻代的大小,一般用

-XX:MetaspaceSize  设置元空间的大小,受本地内存的限制,认为21M

-XX :printGCDetails 打印GC收集日志       -XX :survivorRatio  认是6:1:1

-XX :newRatio 认是1:2                

 -XX :MaxTenuringThreshold   设置垃圾最大年龄 认是15

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐