利用wsadmin生成javacore,heapdump文件
windows:
一、生成javacore文件
1、启动wsadmin.bat ,路径为:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/
输入命令行: cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin
./wsadmin.bat
2、输入命令 wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=<server1>,*]
说明:上面中的<server1>要换成现场was服务的真实名称
比如在服务器上对应的应用名是sever1 ,命令行输入是:set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
3、输入命令 wsadmin>$AdminControl invoke $jvm dumpThreads
4、安装目录D:\IBM\WebSphere\AppServer\profiles\AppSrv01下生成javacore文件(例:javacore.20090804.111947.2632.txt)
5、获取到javacore文件发回分析。
6、如何解析这个Javacore文件?
用javacore文件分析器对javacore文件进行分析
cd /d javacore文件分析器放置路径>java -Xmx1000m -jar jca31.jar
二、生成heapdump文件
注:具体步骤和生成Javacore文件类似,只是在命令行有差异:
1、启动wsadmin.bat ,路径为:D:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin
输入命令行: cd D:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin
./wsadmin.bat
2、输入命令 wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=<server1>,*]
说明:上面中的<server1>要换成现场was服务的真实名称
比如在服务器上对应的应用名是server1 ,命令行输入是:set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1,*]
3、输入命令 wsadmin> $AdminControl invoke $objectName generateHeapDump
4、安装目录D:\IBM\WebSphere\AppServer\profiles\AppSrv01下生成HeapDump文件(例 : heapdump.20170719.141911.10952.0003.phd)
5、将获取都到的heapdump文件发回分析即可。
6、如何分析heapdump文件?
用heapdump文件分析器对heapdump文件进行分析
cd /d heapdump文件分析器放置路径>java -Xmx1000m -jar ha33.jar
三、GC日志
在Websphere 中,如果想让GC服务器自动GC,可以做如下设置:
在Websphere的控制台,server-->server1--->Java and Process Management --->Process definition-->Java Virtual Machine,
在这个页面把 “Verbose garbage collection ” 勾上,
然后,在“Generic JVM arguments”那里添加如下参数:-verbose:gc -XX:+PrintGCDetails -Xverbosegclog:gc.log,
GC日志就会自动生成在你的server1 目录下了,可以通过一些工具来分析Websphere服务器的GC情况了。
Linux
一、生成javacore文件
1、启动wsadmin.sh,路径为:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/wsadmin.sh
输入命令行: cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin
./wsadmin.sh
注:输入命令行 ./wsadmin.sh 后,需要输入WebSphere控制台的用户名和密码。
2、输入命令 wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=<server1>,*]
说明:上面中的<server1>要换成现场was服务的真实名称
比如在服务器上对应的服务名是sever1 ,命令行输入是:set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
3、输入命令 wsadmin>$AdminControl invoke $jvm dumpThreads
4、获取生成的javacore文件路径为:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01下生成javacore文件(例:javacore.20090804.111947.2632.txt)
5、将javacore文件发回分析即可。
6、如何分析Javacore文件?
用javacore文件分析器对javacore文件进行分析
cd /d javacore文件分析器放置路径>java -Xmx1000m -jar jca31.jar
注:若通过以上方法无法生成javacore文件,可通过以下两行命令生成:
[root@smartbiserver20 ~]# ps -ef|grep websphere
找到需要打印线程的WebSphere线程号:
[root@smartbiserver20 ~]# kill -3 13083
获取文件路径:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01
二、生成heapdump文件
方法一:
注:具体步骤和Javacore文件生成差不多,只是差别在于命令:
1、 启动wsadmin.sh,路径为:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/wsadmin.sh
输入命令行: cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin
./wsadmin.sh
注:输入命令行 ./wsadmin.sh 后,需要输入WebSphere控制台的用户名和密码
2、输入命令 wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=<server1>,*]
说明:上面中的<server1>要换成现场was服务的真实名称
比如在服务器上对应的应用名是sever1 ,命令行输入是:set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1,*]
3、 输入命令 wsadmin>$AdminControl invoke $objectName generateHeapDump
注:如果复制命令不行,请手动输入命令行。
4、安装目录 /opt/IBM/WebSphere/AppServer/profiles/AppSrv01 下生成HeapDump文件(例:heapdump.20170719.100404.16398.0097.phd)
5、将heapdump文件发回分析即可。
6、如何对heapdump文件进行分析?
用heapdump文件分析器对heapdump文件进行分析
cd /d heapdump文件分析器放置路径>java -Xmx1000m -jar ha33.jar
方法二:
名称 | 值 |
---|---|
IBM_HEAPDUMP | true |
IBM_HEAP_DUMP | true |
IBM_HEAPDUMPDIR | your_directory |
IBM_HEAPDUMP_OUTOFMEMORY | true |
IBM_JAVADUMP_OUTOFMEMORY | true |
三、GC日志
在Websphere 中,如果想让GC服务器自动GC,可以做如下设置:
在Websphere的控制台,server-->server1--->Java and Process Management --->Process definition-->Java Virtual Machine,
在这个页面把 “Verbose garbage collection ” 勾上,
然后,在“Generic JVM arguments”那里添加如下参数:-verbose:gc -XX:+PrintGCDetails -Xverbosegclog:gc.log,
GC日志就会自动生成在你的server1 目录下了,可以通过一些工具来分析Websphere服务器的GC情况了。