背景:
top命令发现某个进程(pid)占用cpu达到100%。
查看哪个线程占用最多资源:
ps mp pid -o THREAD,tid,命令查看这个进程下面的所有线程占用情况。
发现线程324占用最多。
使用jstack进行跟踪:
jstack pid 进行查看输出到临时文件
jstack 323 > test
将刚刚发现占用cpu最多的线程id(324)换算成16进制,printf "%x\n" 324得到144
查看jstack 生成的文件:
下面可以看出是哪行代码导致,查看那行代码发现有死循环。跟踪解决完毕。
上面是查看cpu占用情况,举一反三,其他的相关资源分析方法应该是类似的。
top命令发现某个进程(pid)占用cpu达到100%。
查看哪个线程占用最多资源:
ps mp pid -o THREAD,tid,命令查看这个进程下面的所有线程占用情况。
发现线程324占用最多。
使用jstack进行跟踪:
jstack pid 进行查看输出到临时文件
jstack 323 > test
将刚刚发现占用cpu最多的线程id(324)换算成16进制,printf "%x\n" 324得到144
查看jstack 生成的文件:
下面可以看出是哪行代码导致,查看那行代码发现有死循环。跟踪解决完毕。
上面是查看cpu占用情况,举一反三,其他的相关资源分析方法应该是类似的。