各種ダンプ取得、システムダンプ内容参照
各種ダンプ取得(IBM JDK)
// javacore.txt スレッドダンプ
com.ibm.jvm.Dump.JavaDump();
// heapdump.phd ヒープダンプ
com.ibm.jvm.Dump.HeapDump();
// core.dmp システムダンプ
com.ibm.jvm.Dump.SystemDump();
システムダンプをフォーマット(jextract.exe)
C:\>jextract.exe [システムダンプファイル(core.dmp)] [出力先(core.dmp.xml)] -J-Xcompressedrefs -nozip
Loading dump file...
システムダンプ内容参照
C:\>jdmpview.exe -core [システムダンプファイル(core.dmp)]
DTFJView version 1.1.6, using DTFJ API version 1.3
Loading image from DTFJ...
For a list of commands, type "help"; for how to use "help", type "help help"
>
ヒープダンプ出力
> heapdump
Writing PHD format heapdump into [ヒープダンプファイル(core.dmp.phd)]
>
クラス参照
> x/j 0x117f88948
Runtime #1 - version:
heap #1 - name: Default@18a3d58
java/lang/String @ 0x117f88948
declared fields:
private final char[] value = <object> @ 0x117f88968
private final int offset = 0 (0x0)
private final int count = 10 (0xa)
private int hashCode = 0 (0x0)
private int hashCode32 = 0 (0x0)
> x/j 0x117f88968
Runtime #1 - version:
heap #1 - name: Default@18a3d58
[C @ 0x117f88968
0: '2' (0x32)
1: '0' (0x30)
2: '1' (0x31)
3: '3' (0x33)
4: '-' (0x2d)
5: '1' (0x31)
6: '0' (0x30)
7: '-' (0x2d)
8: '0' (0x30)
9: '1' (0x31)
10: '\000' (0x0)
11: '\000' (0x0)
12: '\000' (0x0)
13: '\000' (0x0)
14: '\000' (0x0)
15: '\000' (0x0)
>
各種ダンプ取得(wsadmin.bat)
wsadmin.bat -user [ユーザID] -password [パスワード]
set objectName [$AdminControl queryNames WebSphere:type=JVM,process=[アプリケーションサーバ名],node=[ノード名],*]
javacore
$AdminControl invoke $objectName dumpThreads
ヒープダンプ
$AdminControl invoke $objectName generateHeapDump
その他
HPROFダンプ取得(Sun JDK)
jmap -dump:live,format=b,file=c:\heap.dmp [プロセスID]