/usr/lib/jvm/java-1.8.0-openjdk/bin/java
-- 资源分配
-server -Xms2g -Xmx2g -Xmn1g
-XX:MetaspaceSize=128m
-XX:MaxMetaspaceSize=320m
-- 禁用快速异常堆栈
-XX:-OmitStackTraceInFastThrow
-- 内存溢出
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/nacos/logs/java_heapdump.hprof
-- 禁用大内存分页
-XX:-UseLargePages
-- gc相关日志
-Xloggc:/home/nacos/logs/nacos_gc.log -verbose:gc 打印GC,文件路径/home/nacos/logs/nacos_gc.log
-XX:+PrintGCDetails GC详细
-XX:+PrintGCDateStamps GC时间日期 2019-08-29T15:37:37.194+0800
-XX:+PrintGCTimeStamps GC时间戳 4787.561
-XX:+UseGCLogFileRotation 滚动存储
-XX:NumberOfGCLogFiles=10 10个文件 0,1,...,10-1
-XX:GCLogFileSize=100M 文件大小
--应用相关日志
-Dnacos.preferHostnameOverIp=true
-Djava.ext.dirs=/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext:/usr/lib/jvm/java-1.8.0-openjdk/lib/ext:/home/nacos/plugins/cmdb
-Dnacos.home=/home/nacos -jar /home/nacos/target/nacos-server.jar --spring.config.location=classpath:/,classpath:/config/,file:./,file:./config/,file:/home/nacos/conf/,/home/nacos/init.d/ --spring.config.name=application,custom --logging.config=/home/nacos/conf/nacos-logback.xml
2019-08-29T15:37:37.194+0800: 4787.561: [GC (Allocation Failure) 2019-08-29T15:37:37.194+0800: 4787.561: [DefNew: 848241K->2602K(943744K), 0.0326233 secs] 871755K->32805K(1992320K), 0.0327526 secs] [Times: user=0.03 sys=0.00, real=0.03 secs]
2019-08-29T15:37:37.194+0800: 表示打印GC的时刻的时间是2019-08-29T15:37:37.194+0800。+0800表示是东8区
4787.561: 表示从JVM启动到打印GC时刻用了4787.561秒
[GC (Allocation Failure) 表明本次引起GC的原因是因为在年轻代中没有足够的空间能够存储新的数据了。
2019-08-29T15:37:37.194+0800:同上
4787.561: 同上
[DefNew: DefNew表示新生代使用Serial串行GC垃圾收集器,defNew提供新生代空间信息;
848241K->2602K(943744K), 三个参数分别为:GC前该内存区域(这里是年轻代)使用容量,GC后该内存区域使用容量,该内存区域总容量。
0.0326233 secs] 该内存区域GC耗时,单位是秒
871755K->32805K(1992320K), 0.0327526 secs] 三个参数分别为:堆区垃圾回收前的大小,堆区垃圾回收后的大小,堆区总大小。
[Times: user=0.03 sys=0.00, real=0.03 secs] 分别表示用户态耗时,内核态耗时和总耗时
该次GC新生代减少了848241K-2602K=845639K
Heap区总共减少了871755K-32805K=838950K
845639–838950=6689K,说明该次共有6689K内存从年轻代移到了老年代