在WebSphere中生成堆转储、Java核心转储和系统转储。
一个 system administrator 的基本任务是在 WebSphere 应用程序服务器中生成系统dump、java核心和堆dump。
通常,当需要对应用程序或基础架构进行故障排除并需要调查问题时,您必须执行以下操作。
您可以使用 WAS管理员控制台 或 命令行 来实现。根据您的偏好,您可以选择方法。
1. 使用WebSphere管理控制台
- 登录DMGR控制台
- 在左侧导航到故障排除
- 点击java dumps和cores
- 从列表中选择JVM,然后点击您希望生成的JVM
dump和core将在WebSphere配置文件位置生成。您将在消息下方获得绝对路径。
2. 使用命令行
- 登录WAS服务器
- 进入配置文件和bin文件夹
- 执行wsadmin.sh文件
[root@localhost bin]# ./wsadmin.sh WASX7209I: 使用SOAP连接器连接到节点localhostCellManager01上的进程"dmgr";进程类型为:DeploymentManager WASX7029I: 如需帮助,请输入:"$Help help" wsadmin>
- 将JVM名称设置为变量
set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
注意:server1是示例。将其更改为您实际的JVM名称。
wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=server1,*] WebSphere:name=JVM,process=server1,platform=proxy,node=localhostNode01,j2eeType=JVM,J2EEServer=server1,version=8.5.5.0,type=JVM,mbeanIdentifier=JVM,cell=localhostCell01,spec=1.0 wsadmin>
生成堆dump
- 执行以下命令
$AdminControl invoke $jvm generateHeapDump
这将生成堆dump,并提供其可用路径。
wsadmin>$AdminControl invoke $jvm generateHeapDump /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/./heapdump.20160618.225441.4808.0006.phd wsadmin>
生成java核心
$AdminControl invoke $jvm dumpThreads
这将生成 thread dump ,并可在配置文件路径下找到。
您可以看到获取dump很容易,而且分析它们总是很有趣。在我下一篇文章中了解更多关于 how to analyze 的内容,用于应用程序故障排除。