出自:http://blog.sina.com.cn/s/blog_61cd89f60102eeod.html
在生产环境中一旦有内存溢出情况发生,系统会自动生成javacore和heapdump文件,但是有时候我们为解决cpu使用率较高或其它问题时,需要手工生成javacore和heapdump文件,这时我们该如何手动触发生成javacore和heapdump文件呢?
获取javacore和heapdump文件的方法有两种:
第一种:
系统发生内存溢出,在目录下会生产javacore和heapdump文件生成(最常见的一种)
第二种:
手动触发生成javacore和heapdump文件,
1.手工生成javacore文件
ps -ef |grep was --找到pid
kill -3 pid --跟据pid生成javacore文件
2.手工生成heapdump文件
cd /opt/IBM/WebSphere/AppServer/bin/
./wsadmin.sh -lang jython -user wasadmin -password wasadmin
ojbServer = AdminControl.queryNames("WebSphere:type=JVM,process=SampleServer1,node=PrdNode01,*")
AdminControl.invoke(ojbServer, "generateHeapDump")