JVM调优的基本配置参数

目录

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

JVM调优

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


什么是GC Roots

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

JVM调优的基本配置参数

基本思想是通过一系列名为“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程序

JVM调优的基本配置参数

JVM调优的基本配置参数

 

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

JVM调优的基本配置参数

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

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

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

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

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

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

JVM调优的基本配置参数

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

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

上一篇:python_time_learning


下一篇:简单的2021年终总结