4 минуты исчезли в JVM - PullRequest
       14

4 минуты исчезли в JVM

2 голосов
/ 16 сентября 2011

Я использую Eclipse Virgo для размещения своего приложения.Приложение будет записывать один журнал каждые 10 секунд.
Чтобы просмотреть журнал пульса, я обнаружил, что 4 минуты пусто.

Я проверил gc.hprof.txt и не нашел полный gc.
JVM по какой-то причине остановлен и восстановлен через 4 минуты?
Можете ли вы дать мне несколько советов?

Журнал:

2011-09-14 09:46:30,105 DEBUG [T=142][SbusHeartbeatClient.run() 109] Heartbeat:token=1,node=SbusNodeInfo
2011-09-14 09:46:40,105 DEBUG [T=141][SbusHeartbeatClient.run() 109] Heartbeat:token=1,node=SbusNodeInfo
2011-09-14 09:46:50,105 DEBUG [T=156][SbusHeartbeatClient.run() 109] Heartbeat:token=1,node=SbusNodeInfo
2011-09-14 09:47:00,106 DEBUG [T=154][SbusHeartbeatClient.run() 109] Heartbeat:token=1,node=SbusNodeInfo
2011-09-14 09:47:10,106 DEBUG [T=135][SbusHeartbeatClient.run() 109] Heartbeat:token=1,node=SbusNodeInfo
2011-09-14 09:51:35,682 DEBUG [T=141][SbusHeartbeatClient.run() 109] Heartbeat:token=1,node=SbusNodeInfo

Аргументы JVM:

JVM_MEM=1536m
JVM_MN=318m
JVM_PS=318m

JAVA_OPTS="-server -Xms$JVM_MEM -Xmx$JVM_MEM -Xmn$JVM_MN -XX:ReservedCodeCacheSize=96m"
JAVA_OPTS="$JAVA_OPTS -XX:PermSize=$JVM_PS -XX:MaxPermSize=$JVM_PS"
JAVA_OPTS="$JAVA_OPTS -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:MaxTenuringThreshold=3"
JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=3 -XX:+CMSParallelRemarkEnabled"
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails -XX:+PrintHeapAtGC -Xloggc:log/gc.hprof.txt"

Host: SuSE Linux  2.6.32.12 64bit
Java: JDK 1.6.0_24 64bit

1 Ответ

1 голос
/ 16 сентября 2011

Возможные причины:

  1. Поток журналирования завис из-за какой-то блокировки или чего-то еще.
  2. Огромная свинья GC.
  3. В худшем случае система может заблокировать ваш процесс на некоторое время (редко)
...