本文共 399 字,大约阅读时间需要 1 分钟。
1.top命令,查看cpu比较高的进程ID
2.找到cpu比较高的进程ID之后,然后使用top -Hp 进程ID查看占用cpu比较高的线程 3.找到占用cpu比较高的线程ID,使用printf '%x\n' 线程ID,将线程ID转化为16进制显示4.使用jstatck 进程ID|grep -a 线程的16进制(-a 30是显示前30行)打印出线程栈信息
然后通过打印出的线程栈信息分析cpu比较高的原因
打印进程下所有的线程栈信息,输出到指定目录,便于进行日志分析jstack 进程ID >/home/具体目录/jstack.log查看某个进程内存中对象占用的大小,head -n 300输出300行
jmap -histo:live 进程ID | head -n 300 查看gc日志,1000 10标识1000ms输出一次,共10次jstat -gcutil 进程ID 1000 10
转载地址:http://nswmf.baihongyu.com/