這篇文章主要為大家分析了jvm crash的實例分析的相關知識點,內容詳細易懂,操作細節合理,具有一定參考價值。如果感興趣的話,不妨跟著跟隨小編一起來看看,下面跟著小編一起深入學習“jvm crash的實例分析”的知識吧。
半個月來,新的網站服務器運行可靠性急遽下降,主要原因是jvm crash。而引起jvm crash的原因也都與java GC(Garbage Collection)相關。
查了一下sun的文檔“Trouble-Shooting and
Diagnostic Guide",總算有了點初步的認識。檢查4個jvm 崩潰時的文檔(hs_err_pidXXXX),原因完全一致:
An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGSEGV (0xb) at pc=0x010d2d9e, pid=8089, tid=5417904
#
# Java VM: Java HotSpot(TM) Server VM (1.5.0_07-b03 mixed mode)
# Problematic frame:
# V [libjvm.so+0x3efd9e].......................
再查jboss的文檔,初步判斷jvm崩潰的原因是permsize不足所致。因為系統大量使用了spring beans,jvm需要較多地使用 Permanent Generation Heap來存儲reflective data。
解決方案是:在JAVA_OPTS加上-XX:MaxPermSize=128m,jdk5.0默認的初始值為8Mb(client)/16Mb(server),最大值為64Mb.
現在Perm Generation只是使用了68%,而之前4次jvm崩潰是,該值均為99%.
新服務器的可用性問題是否因此得到解決,還有待觀察。
關于“jvm crash的實例分析”就介紹到這了,更多相關內容可以搜索億速云以前的文章,希望能夠幫助大家答疑解惑,請多多支持億速云網站!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。