JVM-参数调试

2020-03-10  本文已影响0人  GIT提交不上

  JVM参数类型:1)标配参数 2)X参数 3)XX参数。
  标配参数:1)-version 2)-help 3)java -showversion。
  X参数:1)-Xint 2)-Xcomp 3)-Xmixed。
  XX参数:

  如何查看一个正在运行的java程序,它的某个JVM参数是否开启?具体值?

jps -l
jinfo -flag PrintGCDetails 18004  //-XX:-PrintGCDetails
jinfo -flags 18004
-Xms  等价于 -XX:InitialHeapSize  //初始堆内存大小,默认为物理内存的1/64。
-Xmx  等价于 -XX:MaxHeapSize  //最大分配内存,默认为物理内存的1/4。
//查看 JVM初始化参数
java -XX:+PrintFlagsInitial
//查看修改和更新
java -XX:+PrintFlagsFinal -version  // = :=

  运行java命令的同时打印参数:

java -XX:+PrintFlagsFinal -Xss128k T
java -XX:+PrintCommandLineFlags -version  //以命令行的形式查看JVM参数
-Xss  等价于  -XX:ThreadStackSize  //栈空间大小,512K~1024K
-XX:MetaspaceSize=1024m  //元空间不在虚拟机中,而是使用本地内存
-XX:+UseParallelGC  //并行垃圾回收器
//配置参数--
 -XX:+PrintCommandLineFlags

-XX:InitialHeapSize=265650752 
-XX:MaxHeapSize=4250412032 
-XX:+PrintCommandLineFlags 
-XX:+UseCompressedClassPointers 
-XX:+UseCompressedOops 
-XX:-UseLargePagesIndividualAllocation 
-XX:+UseParallelGC 
//配置JVM参数:-Xms10m -Xmx10m -XX:+PrintGCDetails
/**
 * @author luffy
 **/
public class GCDemo {
    public static void main(String[] args){
        System.out.println("GC");
        Byte[] bytes = new Byte[20*1024*1024];
    }
}
图1-1 GC日志信息.png
-XX:SurvivorRatio=8  //新生代Eden和Survivor(From/To)比例,8:1:1。
-XX:NewRatio=2  //新生代:老年代 = 1:2,老年代的占比。(堆内)
图1-2 堆内存.png
-XX:MaxTenuringThreShold=15  //设置垃圾最大年龄 0~15

JVM常用参数

上一篇下一篇

猜你喜欢

热点阅读