亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JAVACORE與HEAPDUMP生成方法

 更新時間:2024年08月14日 10:36:11   作者:Z.Virgil  
JavaCore文件主要保存的是Java應用各線程在某一時刻的運行的位置,即JVM執(zhí)行到哪一個類、哪一個方法、哪一個行上,它是一個文本文件,打開后可以看到每一個線程的執(zhí)行棧,以stack?trace的顯示,本文介紹JAVACORE與HEAPDUMP生成大法,感興趣的朋友跟隨小編一起看看吧

前言

在項目上我們經常要生成javacore和heapdump來進行分析。這里總結一下我自己在項目上生成這兩個文件的方法。

JAVACORE篇:

JavaCore文件主要保存的是Java應用各線程在某一時刻的運行的位置,即JVM執(zhí)行到哪一個類、哪一個方法、哪一個行上。它是一個文本文件,打開后可以看到每一個線程的執(zhí)行棧,以stack trace的顯示。

通過對JavaCore文件的分析可以得到應用是否“卡”在某一點上,即在某一點運行的時間太長,例如數據庫查詢,長期得不到響應,最終導致系統(tǒng)崩潰等情況。

Windows平臺:

ORACLE JDK:HOTSPOT

1.jvisualvm工具

jvisualvm是sun的JDK中自帶的工具,在java_home/bin/jvisualvm.exe中就可以打開。

掛在到對應的java進程后,可以直接生javacore。

2.jstack工具

jstack為JDK自帶的命令行工具。

可以通過jstack -l -r -pid的方式生成對應的javacore。

其中-l -r 可以顯示出詳細信息,鎖信息等。

3.sendsignal工具

sendsignal工具是老外開發(fā)的一個小工具,用來生成已知進程號的java進程的javacore。

附件中有具體工具。通過sendsignal.exe pid即可生成。

4.ctrl+break按鍵

在Windows上啟動程序的時候,可以直接在啟動進程的窗口按組合鍵生成javacore。

然而由于NC涉及到兩個java進程,一個小的導程序,一個是正式的程序。

所以用該方法只能生成引導程序的javacore??床坏缴a環(huán)境的實際快照。

IBM JDK:V9

1.系統(tǒng)宕機自動生成。

IBM的JDK在系統(tǒng)宕機的時候會自動生成javacore,這也是我們經常用該JDK替換默認的緣故。

2.sendsignal工具。

3.ctrl+break組合鍵。

4.NMC控制臺。(內部監(jiān)控工具)

某產品自帶的監(jiān)控工具NMC可以直接點擊對應server,右鍵直接生成javacore。

該工具只針對于Websphere集群生效。對于單機 websphere或者NC中間件不生效。

5.Websphere控制臺

有的時候我們發(fā)現,系統(tǒng)卡死,或者需要同時生成多個Server的javacore的時候,

我們就需要在websphere的控制臺中直接生成。

生成方式為Troubleshooting->Java dumps and cores。

6.JSP小補丁程序。         

使用方式為,將javacore.jsp放置到nchome/webapps/nc_web下即可,重啟生效。

訪問的時候,通過ip地址+端口+javacore.jsp即可在JAVA_HOME中生成。

如127.0.0.1:9081/javacore.jsp。代碼如下

<%com.ibm.jvm.Dump.JavaDump();%>

主要調用IBM的JDK內部方法com.ibm.jvm.Dump.JavaDump();

LINUX平臺:                  

1.kill -3 -pid

在linux平臺上,除了之前的各種方法之外,可以直接調用系統(tǒng)的kill -3方法?!      ?/p>

HEAPDUMP篇:

HeapDump文件是一個二進制文件,它保存了某一時刻JVM堆中對象使用情況。

這種文件需要相應的工具進行分析,如IBM Heap Analyzer這類工具。這類文件最重要的作用就是分析系統(tǒng)中是否存在內存溢出的情況。

Windows平臺:

ORACLE JDK:HOTSPOT

1.jvisualvm工具。

和之前生成javacore的方法類似。

2.jmap方法。

map方法為JDK自帶的方法。通過命令行的方式生成。

<%
com.ibm.jvm.Dump.JavaDump();
%>

3.系統(tǒng)宕機自動生成。

由于oracle的JDK在宕機的時候,不會自動生成heapdump文件。需要我們通過添加JVM參數的方式來顯示申明。

在JVM參數中 加-XX:+HeapDumpOnOutOfMemoryError。

4.通過windows任務管理器。

windows的任務管理器可以直接將java的堆對象全部轉儲出來。

只需要點擊右鍵進行保存即可。保存后的文件需要通過類似IBM的MAT分析工具打開。

IBM JDK:V9

1.系統(tǒng)宕機自動生成。

2.利用coredump功能。

利用websphere自帶的coredump功能,可以將所有宕機時的堆棧信息全部輸出。

包含堆中對象的具體信息,如hashmap中的鍵值都可以看到具體的值。

是跟蹤宕機問題的終極法寶。

具體方法為,在JVM中添加參數
-Xdump:system:events=user,request=exclusive+prewalk+compact

3.JSP小補丁程序。

使用方式為,將heapdump.jsp放置到nchome/webapps/nc_web下即可,重啟生效。

訪問的時候,通過ip地址+端口+heapdump.jsp即可在JAVA_HOME中生成。

如127.0.0.1:9081/heapdump.jsp。代碼如下

<%
com.ibm.jvm.Dump.HeapDump();
%>

主要調用IBM的JDK內部方法com.ibm.jvm.Dump.HeapDump();

LINUX平臺:

和上面的生成方法沒有太大區(qū)別。

以上為目前我總結的所有關于javacore和heapdump的收集方法。

在搜集項目報錯信息以及定位問題的時候非常關鍵。

到此這篇關于JAVACORE與HEAPDUMP生成大法的文章就介紹到這了,更多相關JAVACORE與HEAPDUMP生成內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java?在游戲中探索數組二維數組

    Java?在游戲中探索數組二維數組

    數組和二維數組感覺用王者榮耀的裝備欄來舉例解釋,應該更易懂一些。從基礎開始講,后續(xù)會講到JAVA高級,中間會穿插面試題和項目實戰(zhàn),希望能給大家?guī)韼椭?/div> 2022-03-03
  • java理論基礎Stream?reduce實現集合元素歸約

    java理論基礎Stream?reduce實現集合元素歸約

    這篇文章主要為大家介紹了java理論基礎Stream?reduce實現集合元素歸約示例詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • Java程序測試上傳Maven工程代碼示例解析

    Java程序測試上傳Maven工程代碼示例解析

    這篇文章主要介紹了Java程序測試上傳Maven工程代碼示例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Java實戰(zhàn)之制作在線音樂網站

    Java實戰(zhàn)之制作在線音樂網站

    這篇文章主要介紹了如何通過Java實現一個精美風的在線音樂網站,文章采用到了JSP、JQuery、Ajax等技術,感興趣的小伙伴可以了解一下
    2022-02-02
  • 基于SpringBoot整合SSMP案例(開啟日志與分頁查詢條件查詢功能實現)

    基于SpringBoot整合SSMP案例(開啟日志與分頁查詢條件查詢功能實現)

    這篇文章主要介紹了基于SpringBoot整合SSMP案例(開啟日志與分頁查詢條件查詢功能實現),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋參考下吧
    2023-11-11
  • MyBatis簡介與配置MyBatis+Spring+MySql的方法

    MyBatis簡介與配置MyBatis+Spring+MySql的方法

    MyBatis 是一個可以自定義SQL、存儲過程和高級映射的持久層框架。這篇文章主要介紹了MyBatis簡介與配置MyBatis+Spring+MySql的方法,需要的朋友可以參考下
    2017-04-04
  • java不用循環(huán)語句打印數組元素的實例

    java不用循環(huán)語句打印數組元素的實例

    下面小編就為大家?guī)硪黄猨ava不用循環(huán)語句打印數組元素的實例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 修改Maven settings.xml 后配置未生效的解決

    修改Maven settings.xml 后配置未生效的解決

    這篇文章主要介紹了修改Maven settings.xml 后配置未生效的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • SpringBoot整合Mybatis-plus案例及用法實例

    SpringBoot整合Mybatis-plus案例及用法實例

    mybatis-plus是一個 Mybatis 的增強工具,在 Mybatis 的基礎上只做增強不做改變,為簡化開發(fā)、提高效率而生,下面這篇文章主要給大家介紹了關于SpringBoot整合Mybatis-plus案例及用法實例的相關資料,需要的朋友可以參考下
    2022-11-11
  • springboot中@component注解的使用實例

    springboot中@component注解的使用實例

    這篇文章主要介紹了springboot中@component注解的使用實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評論