大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 各種環(huán)境下Javacore與heapdump生成大法

各種環(huán)境下Javacore與heapdump生成大法

更新時間:2019-08-22 11:13:58 來源:動力節(jié)點 瀏覽3539次

  JavaCore文件主要保存的是Java應(yīng)用各線程在某一時刻的運行的位置,即JVM執(zhí)行到哪一個類、哪一個方法、哪一個行上。


  它是一個文本文件,打開后可以看到每一個線程的執(zhí)行棧,以stacktrace的顯示。


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


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


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


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


  JAVACORE篇:


  WINDOWS平臺:


  ORACLEJDK:HOTSPOT


  1.jvisualvm工具。


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


  掛在到對應(yīng)的java進程后,可以直接生javacore。


  

image.png

  2.jstack工具。


  jstack為JDK自帶的命令行工具。可以通過jstack-l-r-pid的方式生成對應(yīng)的javacore。


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


  3.sendsignal工具。


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


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


  4.ctrl+break按鍵


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


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


  所以用該方法只能生成引導(dǎo)程序的javacore。看不到生產(chǎn)環(huán)境的實際快照。


  IBMJDK:V9


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


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


  2.sendsignal工具。


  3.ctrl+break組合鍵。


  4.NMC控制臺。


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


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


image.png

  5.Websphere控制臺。


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


  我們就需要在websphere的控制臺中直接生成。生成方式為Troubleshooting->Javadumpsandcores。

image.png

  5.JSP小補丁程序


  該程序是自己編寫的jsp小程序。


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


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


  如127.0.0.1:9081/javacore.jsp。補丁在附件中。


  主要調(diào)用IBM的JDK內(nèi)部方法com.ibm.jvm.Dump.JavaDump();


  LINUX平臺:


  1.kill-3-pid


  在linux平臺上,除了之前的各種方法之外,可以直接調(diào)用系統(tǒng)的kill-3方法。


  HEAPDUMP篇:


  WINDOWS平臺:


  ORACLEJDK:HOTSPOT


  1.jvisualvm工具。


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


 image.png

  2.jmap方法。


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


  jmap-dump:file=path_to_filepid如jmap-dump:file=d:\2234。


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


  由于oracle的JDK在宕機的時候,不會自動生成heapdump文件。


  需要我們通過添加JVM參數(shù)的方式來顯示申明。


  在JVM參數(shù)中加-XX:+HeapDumpOnOutOfMemoryError。


  4.通過windows任務(wù)管理器。


  windows的任務(wù)管理器可以直接將java的堆對象全部轉(zhuǎn)儲出來。


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

image.png

  IBMJDK:V9


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


  2.利用coredump功能。


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


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


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


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


  3.JSP小補丁程序。


  該程序是自己編寫的jsp小程序。


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


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


  如127.0.0.1:9081/heapdump.jsp。補丁在附件中。


  主要調(diào)用IBM的JDK內(nèi)部方法com.ibm.jvm.Dump.HeapDump();


  LINUX平臺:


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


  以上為目前我總結(jié)的所有關(guān)于javacore和heapdump的收集方法。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久在线| 国产高清视频在线播放 | 在线中文字幕网 | 国产不卡在线 | 天天干天天爽天天射 | 91青青青青青爽在线 | 国产产一区二区三区久久毛片国语 | 四虎永久网址在线观看 | 国产精品成在线观看 | 国产成人v片视频在线观看 国产成人爱片免费观看视频 | 天天干视频 | 91大神在线精品视频一区 | xx毛片| 欧美成免费 | 国产精品1区2区3区在线播放 | 亚洲欧美日本国产综合在线 | 伊人色综合久久天天网蜜月 | 日本a一级毛片免费观看 | 日韩欧美一区二区三区久久 | 久久久精品久久久久久 | 日本人又黄又爽免费视频 | 超乳w真性中出し冲田杏梨101 | 九九热最新 | 国产精品免费视频一区 | 亚洲视频在线免费观看 | 亚洲欧洲日本在线 | 日本-区二区三区免费精品 日本热久久 | 国产午夜爽爽窝窝在线观看 | 久久久影院 | 99热这就是里面只有精品 | 中文字幕精品一区二区日本大胸 | 男人的天堂在线免费视频 | 国精品一区二区三区 | 中文字幕国产一区 | 在线日韩麻豆一区 | 国产成人在线看 | 老头与老头同性tube可播放 | 日本一区二区视频免费播放 | 开心激情五月婷婷 | 日日夜夜国产 | 国产福利午夜波多野结衣 |