筆者注:其實在Unix或Linux系統中照樣可以。因為這是通過WSADMIN去操作的,所以不分平臺。
很不錯的文章,不敢獨享,特轉載來分享給大家
原文出處:http://www.itpub.net/731657.html
具體步驟如下:
1、 設置Windows的環境變量,使WAS JVM在產生javacore的同時產生HeapDump文件(缺省只會產生 javacore)。點擊windows桌面->鼠標右鍵-屬性-進入系統屬性對話框-進入高級頁面-點擊環境變量-在系統變量中-分別加入以下變量名和變量值
變量名 變量值
IBM_HEAPDUMP true
IBM_HEAP_DUMP true
IBM_HEAPDUMPDIR c:\
2、 注銷當前用戶,重新登錄
3、 可以通過手工或windows 服務的方式啟動WAS,如果使用手工方式,如下:
===For WAS5.x====
cd c:\WebSphere\AppServer\bin
startServer.bat server1
===For WAS6.x====
cd c:\WebSphere\AppServer\profiles\default\bin
startServer.bat server1
4、 WAS啟動正常后,在C:\WebSphere\AppServer\bin或C:\WebSphere\AppServer\profiles\default\bin目錄中通過以下命令讓JVM產生JavaCore和HeapDump文件
鍵入wsadmin.bat命令,進入wsadmin管理命令行,鍵入如下代碼:
set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
$AdminControl invoke $jvm dumpThreads
javacore.TIMESTAMP.NUMBER.txt??文件會自動在C:\WebSphere\AppServer或C:\WebSphere\AppServer\default\或您指定的目錄中產生。
$AdminControl invoke $jvm generateHeapDump
生成文件類型名為.phd的文件,這個文件就是完整的堆的dump(此命令為我添加的,這個更有用)
補充:
IBM_HEAPDUMP_OUTOFMEMORY true
IBM_JAVADUMP_OUTOFMEMORY true
WAS在以上兩項環境變量的設置下,一旦JVM出現內存申請失敗拋出Out of Memory錯誤時,JVM將會自動產生JavaCore和HeapDump。
在生產環境下,謹慎使用此兩項環境變量的設置,以防把文件系統撐爆。
posted on 2008-09-10 10:51
Robin's Programming World 閱讀(1595)
評論(0) 編輯 收藏 所屬分類:
Java 、
轉載 、
Webshere