jstack命令查看占用CPU高的线程堆栈信息

我们使用jdk自带的jstack来分析。当linux出现cpu被java程序消耗过高时,以下过程说不定可以帮上你的忙:

1、执行:top

查看高负载的进程

2、top -H -p 28973

查看高负载进程下的高负载线程

把线程号 28973 进行换算成16进制编号:print"%x\n" 28973  ->72d6

3、jstack 28973 >> log.txt

将线程堆栈信息保存为txt文档

4、j打开log.txt,find一下72d6

导出进程的堆栈日志,找到72d6 这个线程号

通过跟踪代码,确认有问题的代码方法。

猜你喜欢

转载自www.cnblogs.com/kaymi/p/12667708.html