tomcat錯誤This is very likely to create a memory leak

 

現象:最近時間出現了兩次tomcat無法響應,重啓就恢復正常。經查看日誌,有幾處可疑點。

下面是查找此問題用到的工具和方法和大家共享。

 

阿里雲centos目前安裝的是openjdk,先執行whereis java查看目錄,找到bin文件java.exe同個目錄發現沒有,安裝openjdk-devel
執行yum install java-1.7.0-openjdk-devel,安裝後java文件夾有調試工具。安裝運行jmap出錯

Caused by: java.lang.RuntimeException: unknown CollectedHeap type : class sun.jvm.hotspot.gc_interface.CollectedHeap

這個是需要下載 openjdk-debuginfo包

https://www.rpmfind.net/linux/rpm2html/search.php?query=java-1.8.0-openjdk-debuginfo,安裝包安裝後還是出現的話,一般是版本不一致導致的。

jdk工具之jps

 jps主要用來輸出JVM中運行的進程狀態信息

jdk工具之jstack

 jstack主要用來查看某個Java進程內的線程堆棧信息。jstack可以定位到線程堆棧,根據堆棧信息我們可以定位到具體代碼,所以它在JVM性能調優中使用得非常多。

jdk工具之jmap,jhat

 jmap用來查看堆內存使用狀況,一般結合jhat使用。

jdk工具之jstat

JVM統計監測工具

jdk工具之hprof(Heap/CPU Profiling Tool)
    hprof能夠展現CPU使用率,統計堆內存使用情況。
 

發佈了256 篇原創文章 · 獲贊 66 · 訪問量 68萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章