本文概述
作为WebSphere管理员, 你应该了解使用线程转储和分析它们的工具。通常需要使用线程转储来诊断应用程序性能问题, 例如死锁, 线程挂起和Java线程瓶颈。
在WebSphere中进行线程转储
建议在5-8秒内进行多个线程转储。你可以使用以下任何一种方法来生成它。
1.使用wsadmin.sh
- 登录到WAS服务器
- 转到个人资料和bin文件夹
- 执行wsadmin.sh文件
[[email protected] bin]# ./wsadmin.sh
WASX7209I: Connected to process "dmgr" on node localhostCellManager01 using SOAP connector; The type of process is: DeploymentManager
WASX7029I: For help, enter: "$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>$AdminControl invoke $jvm dumpThreads
这将生成线程转储, 并将在配置文件路径下可用。
2.使用kill
- 使用ps命令查找JVM进程ID
- 执行kill -3 $ PID
# kill -3 $PID
你将在配置文件路径中找到转储。
3.使用WebSphere管理控制台
- 登录到DMGR控制台
- 导航到左侧的故障排除
- 选择JVM, 然后单击” Java core”。
一旦有了线程转储, 就可以使用以下工具对其进行分析。
分析WebSphere线程转储
分析转储始终具有挑战性, 使用免费工具将为你提供帮助。
1. IBM线程转储分析器(TDA)
使用IBM TDA, 你可以识别Java线程中的挂起, 死锁和瓶颈。
你可以从此处下载IBM TDA。这只是jar文件, 下载后, 你可以执行以下操作以启动GUI。
java -jar jca457.jar
- 单击文件>>打开线程转储
- 浏览文件夹并选择要分析的转储
这将需要几秒钟, 并且你都可以进行以下分析
- CPU使用率
- 内存段
- 用户进程资源限制
- 命令行参数
- 环境变量
- 共享类缓存
- 本机内存
- 线程状态
- 方法
全部在”分析”菜单下可用。快速查看线程状态分析
因此, 通过分析你正在寻找的乐趣与IBM TDA。
2.武士
另一个流行的分析仪是武士, 你可以从这里下载并执行以下操作。
java –jar samurai.jar
因此, 现在你应该能够生成和分析线程转储, 以进行应用程序故障排除。你可以尝试使用另一种联机线程转储分析器。
你可能还对学习Java内存管理感兴趣。
评论前必须登录!
注册