JavaCore文件可以用手工的方式生成,當我們會遇到系統變慢或無響應的情況,這時就以採用手工的方式生成JavaCore。
⑵ tomcat中如何產生javacore文件
向,
⑶ linux下java mp文件在哪兒
如果所使用的應用伺服器是tomact,mp文件默認在catalina.out日誌文件里;
如果不是則可以查看java環境變數設置的位置,也就知道在mp文件的位置了;
如果沒有生成mp文件或者是生成錯誤,請按照一下幾種方法來修復:
系統默認的core文件生成路徑是 /var/logs,但是 /var/logs 目錄並非系統自帶的,系統初始安裝默認自帶的是/var/log,最終導致該系統出現core mp後並沒能生成core文件,因此如何查詢和修改系統默認的core mp文件生產路徑呢?方法如下:
一. 查詢core mp文件路徑:
方法1:
# cat /proc/sys/kernel/core_pattern
方法2:
# /sbin/sysctl kernel.core_pattern
二. 修改core mp文件路徑:
方法1:臨時修改:修改/proc/sys/kernel/core_pattern文件,但/proc目錄本身是動態載入的,每次系統重啟都會重新載入,因此這種方法只能作為臨時修改。
/proc/sys/kernel/core_pattern
例:echo 『/var/log/%e.core.%p』 > /proc/sys/kernel/core_pattern
方法2:永久修改:使用sysctl -w name=value命令。
例:/sbin/sysctl -w kernel.core_pattern=/var/log/%e.core.%p
jstack用於列印出給定的java進程ID或core file或遠程調試服務的Java堆棧信息。
如果是在64位機器上,需要指定選項"-J-d64",Windows的jstack使用方式只支持以下的這種方式:jstack [-l] pid
如果java程序崩潰生成core文件,jstack工具可以用來獲得core文件的java stack和native stack的信息,從而可以輕松地知道java程序是如何崩潰和在程序何處發生問題。
另外,jstack工具還可以附屬到正在運行的java程序中,看到當時運行的java程序的java stack和native stack的信息, 如果現在運行的java程序呈現hung的狀態,jstack是非常有用的。
l 不同的 JAVA虛機的線程 DUMP的創建方法和文件格式是不一樣的,不同的 JVM版本, mp信息也有差別。
l 在實際運行中,往往一次 mp的信息,還不足以確認問題。建議產生三次 mp信息,如果每次 mp都指向同一個問題,我們才確定問題的典型性。
命令格式
$jstack [ option ] pid
$jstack [ option ] executable core
$jstack [ option ] [server-id@]remote-hostname-or-IP
pid: java應用程序的進程號,一般可以通過jps來獲得
executable:產生core mp的java可執行程序
core:列印出的core文件
remote-hostname-or-ip:遠程debug伺服器的名稱或IP
server-id: 唯一id,假如一台主機上多個遠程debug服務