如何产生javacore文件(关于cpu的)和heapdump文件(关于内存的)

1 choose one cluster member, set the following before this server start:

在was启动前设置下面环境变量(可以加在启动脚本中)

export IBM_HEAPDUMP=true

export IBM_HEAP_DUMP=true

export IBM_HEAPDUMP_OUTOFMEMORY=true

export IBM_HEAPDUMPDIR=

2please use set command to make sure you do not have DISABLE_JAVADUMP parameter

then start this cluster member.

用set命令检查参数设置,确保没有设置DISABLE_JAVADUMP,然后启动server

3when you find free memory < 50% when no heavy access, please run kill -3

执行kill -3 命令可以生成javacore文件和heapdump文件(pid为was java进程的id号,可以用ps -ef|grep java 查到),可以多执行几次,按照下面操作进行

ps -ef > psef1.txt

ps aux > psaux1.txt

vmstat 5 10 > vmstat.txt

kill -3

wait for 2 mins

kill -3

wait for 2 mins

kill -3

netstat -an> netstat2.txt

ps -ef > psef2.txt

ps aux > psaux2.txt

将上面产生的 txt 文件和/usr/WebSphere/AppServer/javacore*文件和heapdump文件拷贝到本地,然后删除这些文件,因为这些文件会占用较大的文件系统空间。

将/usr/WebSphere/AppServer/logs/wlmserver1(或2)目录下当天产生的日志拷贝出来

用kill -3 进程号来生成javacore  与 heapdump 文件

1.  windows:

修改运行脚本的javaw 到java,并且添加参数-XX:+HeapDumpOnCtrlBreak。

运行程序后,按ctrl+break, 就可以得到heapdump文件。

-Djava.awt.headless=true -XX:+HeapDumpOnOutOfMemoryError

2.  solaris:

-Djava.awt.headless=true -XX:+HeapDumpOnOutOfMemoryError

3. AIX

(1) choose one cluster member, set the following before this server start:

在was启动前设置下面环境变量(可以加在启动脚本中)

export IBM_HEAPDUMP=true

export IBM_HEAP_DUMP=true

export IBM_HEAPDUMP_OUTOFMEMORY=true

export IBM_HEAPDUMPDIR=

export IBM_JAVADUMP_OUTOFMEMORY=true

(2)please use set command to make sure you do not have DISABLE_JAVADUMP parameter

then start this cluster member.

用set命令检查参数设置,确保没有设置DISABLE_JAVADUMP,然后启动server

(3)when you find free memory < 50% when no heavy access, please run kill -3

执行kill -3 命令可以生成javacore文件和heapdump文件(pid为was java进程的id号,可以用ps -ef|grep java 查到),可以多执行几次,按照下面操作进行

首先在运行的脚本中添加参数-XX:+HeapDumpOnCtrlBreak。

利用ps -ef | grep java 找到运行程序的进程号。

输入命令kill -3 ,就可以得到heapdump文件。

或者: kill -QUIT