JavaLinux服务器CPU100%原因查找

2020-01-02  本文已影响0人  马木木

在开发过程中我们经常遇到由于代码问题导致服务器反应缓慢,服务器CPU100%的问题,跟着网上的处理步骤,自己总结一下,方便以后查找使用

1. 查询CPU占用率最高的进程

每个至少拥有一个进程,我们首先要确定异常的占用是哪个程序,哪个进程引起来。

命令

可以看出来占用率最大的PID是652

2. 查询占用率最大的线程

Java代码运行的承载体是线程,找到线程离真相更近一步

命令

可以得知在进程652中,占用CPU最大的是线程940

3.找出线程在做什么

1)首先将线程PID转为16位,因为在计算机的堆栈中是16位显示的

命令

2) 找出线程的堆栈

命令

A. Operation not permitted

使用jstack的命令的用户必须是启动线程的用户,可以在图1的user看出来,
如果使用jstack无如何输出也切换到该用户

B.jstack: command not found

jstack未加入环境变量,可以cdjdkbin下或者加入环境变量

image.png
上一篇 下一篇

猜你喜欢

热点阅读