成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JavaCore/HeapDump文件及其分析方法

開發 后端
Java程序運行時,有時會產生JavaCore及HeapDump文件,它一般發生于Java程序遇到致命問題的情況下。下面我們就來看看JavaCore/HeapDump文件及其分析方法。

產生時間

Java程序運行時,有時會產生JavaCore及HeapDump文件,它一般發生于Java程序遇到致命問題的情況下。

有時致命問題發生后,Java應用不會死掉,還能繼續運行;

但有時致命問題發生,Java進程會死掉;

為了能夠保留Java應用發生致命錯誤前的運行狀態,JVM在死掉前產生兩個文件,分別為JavaCore及HeapDump文件。

有何區別

JavaCore是關于CPU的,而HeapDump文件是關于內存的。

JavaCore文件主要保存的是Java應用各線程在某一時刻的運行的位置,即JVM執行到哪一個類、哪一個方法、哪一個行上。它是一個文本文件,打開后可以看到每一個線程的執行棧,以stack trace的顯示。通過對JavaCore文件的分析可以得到應用是否“卡”在某一點上,即在某一點運行的時間太長,例如數據庫查詢,長期得不到響應,最終導致系統崩潰等情況。

HeapDump文件是一個二進制文件,它保存了某一時刻JVM堆中對象使用情況,這種文件需要相應的工具進行分析,如IBM Heap Analyzer這類工具。這類文件最重要的作用就是分析系統中是否存在內存溢出的情況。

怎么生成

這兩個文件可以用手工的方式生成,當我們會遇到系統變慢或無響應的情況,這時就以采用手工的方式生成JavaCore及HeapDump文件。

在Unix/Linux上,產生這兩個文件的方法如下:

  1. # ps -ef | grep java  
  2. user 4616 4582 0 17:30 pts/0 00:00:00 grep java  
  3. root 5580 1 0 Oct27 ? 00:02:27 /usr/bin/java -server -XX:PermSize=64M -XX:MaxPermSize=128m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/usr/local/tomcat8090/conf/logging.properties -Djava.endorsed.dirs=/usr/local/tomcat8090/endorsed -classpath :/usr/local/tomcat8090/bin/bootstrap.jar -Dcatalina.base=/usr/local/tomcat8090 -Dcatalina.home=/usr/local/tomcat8090 -Djava.io.tmpdir=/usr/local/tomcat8090/temp org.apache.catalina.startup.Bootstrap start  
  4. # kill -3 5580 

首先,找出Java進程id ,然后再執行‘kill -3 進程號’的操作,等文件生成后再做一次同樣的操作,再產生一組文件。

如何分析

JavaCore文件

兩組文件在分析JavaCore時特別有效,因為它可以看出在先后兩個時間點上,線程執行的位置,如果發現先后兩組數據中同一線程都執行在同一位置,則說明此處可能有問題,因為程序運行是極快的,如果兩次均在某一點上,說明這一點耗時是很大的,通過對這兩個文件進行分析,查出原因,進而解決問題。

JavaCore文件的頭部有一個“Current Thread Details”標記,它記錄了JavaCore產生時系統運行的線程id,使用線程id在文件中查找線程的詳細信息,該信息中記載了線程運行哪個類的時候造成的JavaCore。

  1. NULL ------------------------------------------------------------------------  
  2. 0SECTION TITLE   subcomponent dump routine  
  3. NULL ===============================  
  4. 1TISIGINFOOUTOFMEMORY received  
  5. 1TIDATETIME Date: 2011/12/07 at 15:59:42  
  6. 1TIFILENAME Javacore filename:/usr/WebSphere/AppServer/profiles/WCSProdNode2/javacore19202086.1323298782.txt  
  7. NULL ------------------------------------------------------------------------  
  8. 0SECTION XHPI subcomponent dump routine  
  9. NULL   ==============================  
  10. 1XHTIME Wed Dec 7 15:59:42 2011  
  11. 1XHSIGRECV Unexpected   signal -1 received at   0x0 in <unknown>. Processing   terminated.  
  12. 1XHFULLVERSION J2RE 1.4.2 IBM AIX build ca142ifx-20090918 (SR13   FP2)  
  13. NULL            
  14. 1XHCURRENTTHD Current Thread   Details  
  15. NULL ----------------------  
  16. 2XHCURRSYSTHD "WebContainer :   5" sys_thread_t:0x45FB5328  
  17. 3XHNATIVESTACK Native Stack  
  18. NULL ------------  
  19. 3XHSTACKLINEERR unavailable -   stack address not valid  
  20. :::  
  21. :::  
  22. 0SECTION XM subcomponent   dump routine  
  23. NULL ============================  
  24. NULL             
  25. 1XMCURTHDINFO Current Thread Details  
  26. NULL ----------------------  
  27. 3XMTHREADINFO "WebContainer : 5" (TID:0x70A8E260, sys_thread_t:0x45FB5328, state:R, native ID:0x5CC0)   prio=5 
  28. 4XESTACKTRACE at   org.apache.taglibs.standard.tag.common.core.ImportSupport$ImportResponseWrapper.getString(Unknown   Source)  
  29. 4XESTACKTRACE at   org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireString(Unknown   Source)  
  30. 4XESTACKTRACE at   org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(Unknown   Source)  
  31. 4XESTACKTRACE at   com.ibm._jsp._part._jspx_meth_c_import_3(_part.java(Compiled Code))  
  32. 4XESTACKTRACE at   com.ibm._jsp._part._jspx_meth_c_otherwise_3(_part.java(Compiled   Code))  
  33. 4XESTACKTRACE at   com.ibm._jsp._part._jspx_meth_c_choose_4(_part.java(Compiled Code))  
  34. 4XESTACKTRACE at   com.ibm._jsp._part._jspService(_part.java:3237) 

這樣結合當時的日志文件可以找到問題產生的原因。不過,這種方法只能找到不是內存溢出的錯誤,對于在core文件頭就有java/lang/outMemoryException的錯誤還是不知道是執行到哪個類的時候出現。

HeapDump文件

HeapDump文件是指定時刻的Java堆棧的快照,是一種鏡像文件。Heap Analyzer工具通過分析HeapDump文件,哪些對象占用了太多的堆棧空間,來發現導致內存泄露或者可能引起內存泄露的對象。

原文鏈接:http://blog.csdn.net/newhappy2008/article/details/7592697

責任編輯:林師授 來源: newhappy2008的博客
相關推薦

2025-02-06 14:59:08

2009-04-20 21:20:32

Linux文件系統存儲機制

2010-07-30 13:20:31

.NET正則

2010-06-01 10:12:29

Mrtg配置

2019-11-01 15:43:58

云計算云遷移公共云

2010-01-20 11:00:00

軟交換技術

2019-08-01 13:09:57

大數據分析建模信息化

2018-06-12 09:49:44

JavaSpring線程

2024-04-25 15:52:40

2011-06-16 11:04:09

光纖損耗

2023-04-06 15:21:34

IIoT自動化

2011-02-23 11:18:48

MongoDBMySQL性能測試

2019-04-15 13:40:47

大數據分析建模數據數據分析

2009-07-06 17:47:44

2017-09-02 10:03:10

大數據分析大數據數據

2011-03-29 13:11:49

混合云架構

2022-07-21 09:31:58

Actuator密碼框架

2010-06-01 15:11:08

SVN刪除文件

2009-09-28 13:23:00

CCNA學習方法CCNA

2009-05-18 17:16:50

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费不卡视频 | 91成人在线| 男人的天堂中文字幕 | 日韩在线一区二区三区 | 欧美在线视频网 | 欧美一区2区三区3区公司 | 99色综合 | 日本特黄a级高清免费大片 特黄色一级毛片 | 久久久青草婷婷精品综合日韩 | 亚洲精品成人在线 | 久久国产精品99久久久大便 | 国产精品视频免费看 | 欧美在线a | 国产精品激情小视频 | 国产午夜精品一区二区三区四区 | 亚洲一区二区久久久 | 欧美成人精品一区二区男人看 | 日韩一区精品 | 最新国产在线 | 亚洲精品国产偷自在线观看 | 亚洲www | 欧美a区 | 国产精品不卡一区 | 亚洲视频免费在线观看 | 日本不卡免费新一二三区 | 91亚洲国产成人久久精品网站 | 日本一区精品 | 伊人欧美视频 | www.一级毛片 | 亚洲精品456| 国产成人高清成人av片在线看 | 欧美性生活视频 | 九九九久久国产免费 | 色综合色综合 | 麻豆精品一区二区三区在线观看 | аⅴ资源新版在线天堂 | 国产一级在线 | 精品亚洲一区二区三区 | 在线观看中文字幕亚洲 | 黄色福利 | 夜夜骑综合 |