使用java做一个项目,jdk版本为1.7.0_79,现发现程序在运行一段时间后,会莫名的处于假死状态(根据日志判断,正常情况下该程序会刷日志);而当该进程处于假死状态后,调用jmap -heap pid 和 jstack -F pid 分析之后,该java进程又恢复正常工作,求大神帮忙分析一下问题原因。这是当时执行jmap打印的信息:[root@localhost root]# jmap -heap 32135
Attaching to process ID 32135, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.79-b02using thread-local object allocation.
Parallel GC with 18 thread(s)Heap Configuration:
   MinHeapFreeRatio = 0
   MaxHeapFreeRatio = 100
   MaxHeapSize      = 4294967296 (4096.0MB)
   NewSize          = 1310720 (1.25MB)
   MaxNewSize       = 17592186044415 MB
   OldSize          = 5439488 (5.1875MB)
   NewRatio         = 2
   SurvivorRatio    = 8
   PermSize         = 21757952 (20.75MB)
   MaxPermSize      = 85983232 (82.0MB)
   G1HeapRegionSize = 0 (0.0MB)Heap Usage:
PS Young Generation
Eden Space:
   capacity = 354418688 (338.0MB)
   used     = 341848280 (326.01192474365234MB)
   free     = 12570408 (11.988075256347656MB)
   96.45323217267821% used
From Space:
   capacity = 1572864 (1.5MB)
   used     = 1068480 (1.01898193359375MB)
   free     = 504384 (0.48101806640625MB)
   67.93212890625% used
To Space:
   capacity = 2621440 (2.5MB)
   used     = 0 (0.0MB)
   free     = 2621440 (2.5MB)
   0.0% used
PS Old Generation
   capacity = 75497472 (72.0MB)
   used     = 58251928 (55.553367614746094MB)
   free     = 17245544 (16.446632385253906MB)
   77.15745502048068% used
PS Perm Generation
   capacity = 46661632 (44.5MB)
   used     = 46353704 (44.206336975097656MB)
   free     = 307928 (0.29366302490234375MB)
   99.34008309010709% used21330 interned Strings occupying 2260360 bytes.