开发者

The 4 minutes disappeared in jvm

I am using Eclipse Virgo to host my application. The application will write one log ever开发者_开发问答y 10 seconds.

To review the heartbeat log, I found that 4 minutes is blank.

I have checked the gc.hprof.txt and not found full gc.

The jvm is halted for some reason and restored after 4 minutes?

Can you give me some suggestion?

The log:

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

The JVM args is:

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


Possible reasons:

  1. The logging thread hanged for some lock or something.
  2. A huge GC hog.
  3. Worst case, system may have blocked your process for some time(rare)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜