oracle gc 部署,生产环境 CPU 高,定位发现是 oracle jdk7.79 的 GC 导致,只是很奇怪是 SYS 高, USR 不高...
使用 top 发现 CPU 的 SYS 高达 75-100 , USR 是 0;
top (每个进程的 cpu 达到饿了 1700%)
8974 bigdata 20 0 49.1g 6.1g 172m S 1719.3 4.9 62:06.84 java -server -Xms6g -Xmx6g -Xmn3g -XX:MaxPermSize=256m -XX:ParallelGCThreads=6 -XX:+PrintGCDetails -XX:+PrintGCDateStamps
9322 bigdata 20 0 47.2g 5.8g 176m S 1719.3 4.6 62:34.35 java -server -Xms6g -Xmx6g -Xmn3g -XX:MaxPermSize=256m -XX:ParallelGCThreads=6 -XX:+PrintGCDetails -XX:+PrintGCDateStamps
8512 bigdata 20 0 31.0g 5.7g 85m S 1719.0 4.5 57:15.66 java -server -Xms6g -Xmx6g -Xmn3g -XX:MaxPermSize=256m -XX:ParallelGCThreads=6 -XX:+PrintGCDetails -XX:+PrintGCDateStamps
jstat -gccause 8512
S0 S1 E O P YGC YGCT FGC FGCT GCT LGCC GCC
0.00 99.98 74.00 84.30 98.17 75 577.074 0 0.000 577.074 Allocation Failure No GC
0.00 0.00 5.37 18.68 50.50 76 577.098 1 0.132 577.230 Heap Dump Initiated GC No GC
贴上最后几排的 GC 日志
2015-11-01T10:51:24.235+0300: 173162.712: [GC [PSYoungGen: 3080305K->47656K(3055104K)] 5463481K->2471820K(6200832K), 0.1943950 secs] [Times: user=0.12 sys=0.95, real=0.19 secs]
2015-11-02T03:27:25.803+0300: 232924.280: [GC [PSYoungGen: 3037736K->50218K(3040768K)] 5461900K->2506926K(6186496K), 0.0715950 secs] [Times: user=0.08 sys=0.27, real=0.07 secs]
2015-11-02T04:14:34.642+0300: 235753.119: [GC [PSYoungGen: 3040298K->83946K(2973696K)] 5497006K->2613726K(6119424K), 3.1987270 secs] [Times: user=1.12 sys=5.43, real=3.20 secs]
2015-11-02T04:34:16.867+0300: 236935.344: [GC [PSYoungGen: 2973674K->127976K(3017728K)] 5503454K->2779766K(6163456K), 568.6952080 secs] [Times: user=0.00 sys=3378.32, real=568.60 secs]