分类
java

java程序运行中cpu过高排查

1.查找到java应用程序对应的进程号

ps -ef | grep java

2.假设进程号为16057,使用如下命令查看该进程对应的线程号

top -Hp 16057

3.可见,线程16058的cpu占用达到99.7%,16058为10进制,转换为16进制数后为3eba,使用如下jstack命令查看线程运行情况,然后结合代码排查。

jstack 16057 | grep -A 10 3eba

4.此外还可以查看jvm信息如下:

jstat -gcutil 16057 1000 100

5.此外还可以导出jvm内存信息为文件:

jmap -dump:format=b,file=xxsoft.hprof 16057

发表评论

电子邮件地址不会被公开。 必填项已用*标注