1、用ps -ef | grep tomcat-v3 查出tomcat运行的进程id (也可直接用top看);
2、用top -Hp pid 查询进程下所有线程的运行情况(shift+p 按cpu排序,shift+m 按内存排序)
3、找到cpu最高的pid,用printf ‘%x’ pid 转换为16进制 (也可用计算器)
4、jstack 4754 > 1.hprof
一个线程的状态有:
NEW(新建),
RUNNABLE(运行),
BLOCKED(阻塞),
WAITING(等待),
TIMED_WAITING(等待指定时间),
TERMINATED(终止)
在dump 文件里,写法可能不太一样:
死锁,Deadlock(重点关注)
执行中,Runnable
等待资源,Waiting on condition(重点关注)
等待获取监视器,Waiting on monitor entry(重点关注)
对象等待中,Object.wait() 或 TIMED_WAITING
暂停,Suspended
阻塞,Blocked(重点关注)
停止,Parked