-verbose:gc 和-Xloggc:log/gc.log

- sh $CI_PROJECT_DIR/scripts/deploy-pscm.sh "/data/deploy" "pscm-claim-maintain" "10.96.241.118" "-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp  -Xms4096m -Xmx4096m -Xss512K -verbose:gc -Xloggc:target/gc.log -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Djava.net.preferIPv4Stack=true -Dspring.profiles.active=production,drill" "pscmapp" "18071"

 

 -verbose:gc 中参数-verbose:gc 表示输出虚拟机中GC的详细情况.

使用后输出如下:

[Full GC 168K->97K(1984K), 0.0253873 secs]

解读如下:

  箭头前后的数据168K和97K分别表示垃圾收集GC前后所有存活对象使用的内存容量,说明有168K-97K=71K的对象容量被回收,括号内的数据1984K为堆内存的总容量,收集所需要的时间是0.0253873秒(这个时间在每次执行的时候会有所不同)

Note:GC会暂用CPU时间片,有可能造成应用程序在某个时刻极短的停顿.

-Xloggc:log/gc.log 指定GC log的位置java

-Xloggc:log/gc.log
指定GC log的位置,以文件输出
帮助开发人员分析问题

-XX:+PrintGCTimeStamps 打印CG发生的时间戳

-XX:+PrintGCTimeStamps

–打印CG发生的时间戳

–[GC[DefNew: 4416K->0K(4928K), 0.0001897 secs] 4790K->374K(15872K), 0.0002232 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 

-XX:+PrintGCDetails 打印GC详细信息

-XX:+PrintGCDetails

–打印GC详细信息

n-XX:+PrintGCDetails的输出

–Heap

– def new generation   total 13824K, used 11223K [0x27e80000, 0x28d80000, 0x28d80000)

–  eden space 12288K,  91% used [0x27e80000, 0x28975f20, 0x28a80000)

–  from space 1536K,   0% used [0x28a80000, 0x28a80000, 0x28c00000)

–  to   space 1536K,   0% used [0x28c00000, 0x28c00000, 0x28d80000)

– tenured generation   total 5120K, used 0K [0x28d80000, 0x29280000, 0x34680000)

–   the space 5120K,   0% used [0x28d80000, 0x28d80000, 0x28d80200, 0x29280000)

– compacting perm gen  total 12288K, used 142K [0x34680000, 0x35280000, 0x38680000)

–   the space 12288K,   1% used [0x34680000, 0x346a3a90, 0x346a3c00, 0x35280000)

–    ro space 10240K,  44% used [0x38680000, 0x38af73f0, 0x38af7400, 0x39080000)

–    rw space 12288K,  52% used [0x39080000, 0x396cdd28, 0x396cde00, 0x39c80000)

你可能感兴趣的:(发布)