各位大神好!
今天调查服务器启动过程中,内存被大量使用,具体是那些对象占用。通过kill -3 《进程ID》可以手动生成javacore和heapdump文件,但是、时间在使用的过程中,为什么只生成javacore文件,没有生成heapdump文件。在JVM中增加参数【 -XX:+HeapDumpOnCtrlBreak】后,也没有输入heapdump文件。请问,如何调试出来,手动可以生成heapdump文件呢?还是我的观点有误?请指教!在线等!!!!谢谢在was启动前设置下面环境变量(可以加在启动脚本中) export IBM_HEAPDUMP=true export IBM_HEAP_DUMP=true
export IBM_HEAPDUMP_OUTOFMEMORY=true export IBM_HEAPDUMPDIR=
在WAS控制台 服务器-> 应用程序服务器-> 对应的服务器名字-> Java和进程管理->进程定义->环境条目 增加下面属性:
IBM_HEAPDUMP true
IBM_HEAP_DUMP true
IBM_HEAPDUMP_OUTOFMEMORY true
IBM_HEAPDUMPDIR dump文件存放的路径
WebSphere Application Server 6.1 -> 8.5
Add the following string to the Generic JVM arguments field:
-Xdump:heap:events=user
WebSphere Application Server V6.0.2, V5.1.1
The environment variable is: IBM_HEAPDUMP
And the value it should be set to is: TRUE