Я беспокоюсь из-за проблемы с приостановкой службы, вызванной юным gc, один из журналов gc:
2018-07-04T22:01:09.296+0800: 12677.097: [GC (Allocation Failure) 2018-07-04T22:01:09.297+0800: 12677.098: [ParNew: 920038K->47441K(943744K), 0.7193147 secs] 2038512K->1187779K(4089472K), 0.7204508 secs] [Times: user=0.29 sys=0.72, real=0.72 secs]
пауза может произойти несколько раз в час, нагрузка на сервер всегда низкая, обычно меньше 0,1, памяти достаточно, обмен не произошел, я обнаружил, что эта проблема с длительным временем работы системы обнаружена, https://blog.gceasy.io/2016/12/11/sys-time-greater-than-user-time/
в котором говорится две причины:
- Проблема с операционной системой
- Проблема, связанная с ВМ
но я не думаю, что это охватывает все случаи. потому что у меня есть другой Java-сервис, который занимает больше кучи, работает на том же сервере, и не пострадал на этом.
у меня система centos 6, версия ядра 2.6.32-696.6.3.el6.x86_64, jdk - jdk1.8.0_65, основные параметры jvm:
-XX: MetaspaceSize = 256M -XX: MaxMetaspaceSize = 256M -Xms4g -Xmx4g -Xmn1g -Xss256k -XX: SurvivorRatio = 8 -XX: MaxTenuringThreshold = 8 -XX: ParallelGCThreads = 8 -XXXX :S: UseParNewGC
есть предложения? спасибо!
изм:
журнал подкачки:
09:50:01 PM 2.36 573.77 295.95 0.04 636.73 0.00 0.00 0.00 0.00
10:00:01 PM pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff
10:00:01 PM 5.39 577.19 496.32 0.08 913.33 0.00 0.00 0.00 0.00
10:10:01 PM 48.39 1425.40 519.28 0.24 1060.78 0.00 18.63 18.61 99.89
10:20:01 PM 1.57 1156.95 386.99 0.02 941.61 104.35 8.11 112.41 99.96
и свободный вывод:
total used free shared buffers cached
Mem: 65858212 64025056 1833156 0 159476 32796852
-/+ buffers/cache: 31068728 34789484
Swap: 67108860 0 67108860