我目前正在使用JDK 1.6.0_45加載測試在JBoss 5.1中運行的集羣應用程序,而且我遇到間歇性JVM崩潰。從錯誤報告(下面的報告的進一步細節)看來,崩潰時伊甸園空間已滿(100%),所以我懷疑這是最有可能的候選人。負載下間歇性JVM崩潰
因此,我一直在運行JVisualVM來查找內存泄漏,特別是監視我自己的類。我可以看到這些類在內存中增長,但隨後它們會被垃圾回收器定期清理。
即使存在內存泄漏,我仍然希望在完整的JVM崩潰之前看到OutOfMemory錯誤。任何人都可以幫助我指出問題可能出在哪裏的正確方向嗎?任何指導將非常感激。
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006dba43f7, pid=3980, tid=2556
#
# JRE version: 6.0_45-b06
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.45-b01 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# V [jvm.dll+0x2c43f7]
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
剪斷
Heap
PSYoungGen total 670272K, used 662831K [0x00000007d5560000, 0x0000000800000000, 0x0000000800000000)
eden space 641728K, 100% used [0x00000007d5560000,0x00000007fc810000,0x00000007fc810000)
from space 28544K, 73% used [0x00000007fc810000,0x00000007fdcabf68,0x00000007fe3f0000)
to space 28352K, 12% used [0x00000007fe450000,0x00000007fe7d0e60,0x0000000800000000)
PSOldGen total 1398144K, used 1096904K [0x0000000780000000, 0x00000007d5560000, 0x00000007d5560000)
object space 1398144K, 78% used [0x0000000780000000,0x00000007c2f32250,0x00000007d5560000)
PSPermGen total 422848K, used 378606K [0x0000000760000000, 0x0000000779cf0000, 0x0000000780000000)
object space 422848K, 89% used [0x0000000760000000,0x00000007771bb800,0x0000000779cf0000)
剪斷
VM Arguments:
jvm_args: -Dprogram.name=run.bat -XX:MaxPermSize=512m -Xms2G -Xmx2G -Dhttp.proxyHost=testproxy -Dhttp.proxyPort=8010 -Dhttps.proxyHost=testproxy -Dhttps.proxyPort=8010 -Djavax.net.ssl.trustStore=cacerts -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.keyStore=testkeystore.jks -Djavax.net.ssl.keyStorePassword=testkeystore -Djboss.messaging.ServerPeerID=2 -Dhttp.nonProxyHosts=*.mydomain.com -Dsun.rmi.dgc.client.gcInterval=900000 -Dsun.rmi.dgc.server.gcInterval=900000 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Djava.library.path=C:\jboss-5.1.0.GA\bin\native;C:\Program Files (x86)\Windows Resource Kits\Tools\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\jboss-5.1.0.GA\bin -Djava.endorsed.dirs=C:\jboss-5.1.0.GA\lib\endorsed
java_command: org.jboss.Main -c hops-cnf -b 0.0.0.0
Launcher Type: SUN_STANDARD
JVM崩潰很少是代碼問題 - 您可能遇到了JVM實現中的錯誤。 從報告中看,GC似乎正在嘗試運行,但由於某種原因它會使VM崩潰。有些事情要嘗試: - 使用-Xmx4G在64位JVM上運行? - 你可以嘗試不使用-Xms2G?如果您將Xms和Xmx標誌設置爲相同的值,則堆沒有增長空間。您可以嘗試不使用Xms和Xmx標誌 – PowerPanda 2013-04-24 09:34:26