Windows下Tomcat内存占用过高问题跟踪(ProcessExplorer+jstack)
一、问题描述 Tomcat下面部署很多个java项目的war包,tomcat启动一段时间后,发现cpu占用过高,整个界面卡死! 二、通过process explorer查看java进程下的线程 process explorer是Windows系统和应用程序监视工具。 process explorer下载:https://technet.microsoft.com/en-us/sysinternals/bb896653/? 下载后直接打开即可: ? 使用PID为3764的进程,点开javaw.exe进程: ? 这时候会发现TID为4060(10进制)的线程占用CPU最高,下面找到该进程在项目中的位置。 三、通过jstack把进程下所以的Java线程栈的内容打印出文本中jstack是java虚拟机自带的一种堆栈跟踪工具,用于生成虚拟机当前时刻的线程快照,包含虚拟机中每一个线程正在执行的方法堆栈的集合,用于定位线程出现长时间停顿的原因,如死锁、死循环、外部资源长时间等待等 在cmd命令里输入:jstack -l 3764 回车: ? 将4060(TID)十进制转成16进制(在线工具:http://tool.oschina.net/hexconvert/)为fdc; 找到nid=0xfdc,找到后面对应的java类对应的行数,即可定位到问题。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- .net – 在Windows应用商店应用中保存文件
- windows – 仅限Internet访问活动目录中的Web浏览器
- windows-phone-7 – 购买Windows Phone 7手机进行开发时,我
- 不同的neo4j企业和neo4j社区的Windows?
- Windows – 没有共享存储的Hyper-V Live迁移?
- Windows中当前目录和工作目录之间的区别
- Windows – x64 Native Tools命令提示符和x64十字工具命令提
- Windows Server 2008 R2上的.NET Framework 4 RTM
- 是否可以从vbscript执行.NET程序集(DLL)?
- windows – django-admin.py startproject打开记事本,而不是