background image

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.proper
ties -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.startu
p.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/WC

SProdNode2/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>

. P

rocessing   terminated.  

12. 1XHFULLVERSION J2RE 1.4.2 IBM AIX build ca142ifx-20090918 (SR13   

FP2)  

13. NULL