tomcat堆栈线程优化(tomcat运行一段时间后,堆栈飙升至最后卡死)

一、工具Visual VM

  (1)jdk1.7之后,在bin文件下双击

tomcat堆栈线程优化(tomcat运行一段时间后,堆栈飙升至最后卡死)_第1张图片

(2)下载VM压缩包

在etc文件夹下面,打开conf文件,配置jdk地址

tomcat堆栈线程优化(tomcat运行一段时间后,堆栈飙升至最后卡死)_第2张图片

双击bin下的exe

tomcat堆栈线程优化(tomcat运行一段时间后,堆栈飙升至最后卡死)_第3张图片

2、使用

(1)使用工具导出线程block信息

tomcat堆栈线程优化(tomcat运行一段时间后,堆栈飙升至最后卡死)_第4张图片

点击按钮打印线程lock

tomcat堆栈线程优化(tomcat运行一段时间后,堆栈飙升至最后卡死)_第5张图片

(2)cmd控制台执行jstack -l 7388  > c:/java.stack(7388是java.exe在任务管理器里面的Pid进程id)

tomcat堆栈线程优化(tomcat运行一段时间后,堆栈飙升至最后卡死)_第6张图片

二、线程Block解析

1、下载ProcessExplorer,双击打开

选择java.exe双击打开

tomcat堆栈线程优化(tomcat运行一段时间后,堆栈飙升至最后卡死)_第7张图片

2、选择threads面板,选择第一条占用最大的pid,如下图194132

tomcat堆栈线程优化(tomcat运行一段时间后,堆栈飙升至最后卡死)_第8张图片

将194132转换成十六进制1d5c24

tomcat堆栈线程优化(tomcat运行一段时间后,堆栈飙升至最后卡死)_第9张图片

3、线程日志定位问题

在日志文档查找十六进制线程pid

tomcat堆栈线程优化(tomcat运行一段时间后,堆栈飙升至最后卡死)_第10张图片

查看该记录报错涉及代码问题

tomcat堆栈线程优化(tomcat运行一段时间后,堆栈飙升至最后卡死)_第11张图片

你可能感兴趣的:(服务器环境)