java查看dump信息(linux java dump文件分析命令)

本文目錄一覽:

java visualvm 堆dump怎麼分析

jmap是java自帶的工具

1. 查看整個JVM內存狀態

jmap -heap [pid]

2. 查看JVM堆中對象詳細佔用情況

jmap -histo [pid]

3. 導出整個JVM 中內存信息,可以利用其它工具打開dump文件分析,例如jdk自帶的visualvm工具

jmap -dump:file=文件名.dump [pid]

Java 中怎麼獲取一份線程 dump 文件

當服務器掛起,崩潰或者性能底下時,就需要抓取服務器的線程堆棧(Thread Dump)用於後續的分析.

Thread dump提供了當前活動的線程的快照. 它提供了JVM中所有Java線程的棧跟蹤信息

有很多方式可用於獲取Thread Dump, 一些是操作系統特定的命令.

操作系統命令獲取ThreadDump:

Windows:

1. 轉向服務器的標準輸出窗口並按下Control + Break組合鍵, 之後需要將線程堆棧複製到文件中

UNIX/ Linux

首先查找到服務器的進程號(process id), 然後獲取堆棧.

1. ps –ef  | grep java

2. kill -3 pid

注意一定要謹慎, 一步不慎就可能讓服務器進程被殺死!

JVM 自帶的工具獲取線程堆棧:

JDK自帶命令行工具獲取PID並做ThreadDump:

1.  jps

2.jstack pid

使用JVisualVM:

Threads 標籤頁 →ThreadDump按鈕

WebLogic 自帶的獲取 thread dump的工具:

1. webLogic.Admin 工具

a. 打開命令提示符, 通過運行DOMAIN_HOME/bin/setDomain.env設置相關類路徑

b. 執行下面的命令

java weblogic.Admin -url t3://localhost:7001 -username weblogic -password weblogic1 THREAD_DUMP

注意: Thread Dump 會打印到標準輸出, 如nohup日誌或者進程窗口.

2. 使用 Admin Console

a. 登錄 Admin Console , 點擊對應的服務器

b. 點擊Server à Monitoring àThreads

c. 點擊: Dump Thread Stack 按鈕

3. 使用WLST (WebLogic Scripting Tool)

connect(‘weblogic’,’weblogic1’,’t3://localhost:7001’)

cd(‘Servers’)

cd(‘AdminServer’)

threadDump()

disconnect()

exit()

注意: 線程堆棧將會保存在運行wlst的當前目錄下.

4. 使用utils.ThreadDumper

用法:

C:\bea\wlserver_10.3\server\libjava -cp weblogic.jar utils.ThreadDumper

Broadcast Thread dumps disabled: must specify weblogic.debug.dumpThreadAddr and

weblogic.debug.dumpThreadPort

Exception in thread “main” java.lang.IllegalArgumentException: Port out of range

:-1

at java.net.DatagramPacket.setPort(Unknown Source)

at java.net.DatagramPacket.init(Unknown Source)

at java.net.DatagramPacket.init(Unknown Source)

at utils.ThreadDumper.sendDumpMsg(ThreadDumper.java:124)

at utils.ThreadDumper.main(ThreadDumper.java:145)

5. 如果服務器是作為Windows服務的方式運行, 請運行下列命令:

WL_HOME\bin\beasvc -dump -svcname:service-name

其它一些獲取Thread Dump的工具有jrcmd, jrmc(JRockit VM自帶) ,Samurai, JProfiler等, 還可通過JMX編程的方式獲取, 如JDK自帶示例代碼:

$JAVA_HOME\demo\management\FullThreadDump

如何查看javacore和heapdump文件

一。查看javacore文件

1.下載ThreadDumpAnalyser,graphviz,svgviewer

2.運行runall.bat javacore.txt,會產生三個文件dumps.xml,locktree1.svg,sidebyside.html

二。查看heapdump文件

1.從IBM網站下載ha433包,釋放,執行ha433.jar文件

2.在ha433窗口打開heapdump.phd,從中會顯示分析結果

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/306179.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-02 12:00
下一篇 2025-01-02 12:00

相關推薦

發表回復

登錄後才能評論