系统CPU负载过高、CPU使用率不高的问题
2018-01-16 14:56
337 查看
(1)、问题
线上Tomcat服务器CPU的负载非常高,但是CPU使用率正常,如图:
(2)、问题排查
1、首先查看是哪些进程的CPU占用率最高(如下可以看到详细的路径)
ps -aux --sort -pcpu | more
# 定位有问题的线程可以用如下命令
ps -mp pid -o THREAD,tid,time | more
2、查看JAVA进程的每个线程的CPU占用率
ps -Lp 5798 cu | more # 5798是查出来进程PID
3、追踪线程,查看负载过高的原因,使用JDK下的一个工具
jstack 5798 # 5798是PID
jstack -J-d64 -m 5798 # -j-d64指定64为系统
jstack 查出来的线程ID是16进制,可以把输出追加到文件,导出用记事本打开,
再根据系统中的线程ID去搜索查看该ID的线程运行内容,可以和开发一起排查。
(3)、常见的处理办法
网站相关进程导致负载高处理办法:
1、直接把网站php或http或tomcat等网站服务重启,很多时候负载就降下来了
2、也可能是网站代码漏洞导致的,需要反馈开发一起查找原因和处理
3、把重复的tomcat kill全部掉重新启动
mysql进程导致的负载高处理办法:
1、常见的就是mysql慢查询导致,可以在mysql慢查询日志找到相关sql语句,这需要对sql进行优化
2、还可以进入mysql,用show full processlist\G;查看那个mysql进程执行时间比较久的慢查询。如果是内部后台使用的语句,可以先kill掉,优化后再执行。
3、mysql读写太频繁,如果是读写频繁可以在%wa等待输入输出看的出来占用cpu百分比很大。也可以通过命令iostat查看系统读写情况。
还有可能是网络原因,系统硬件原因等
线上Tomcat服务器CPU的负载非常高,但是CPU使用率正常,如图:
(2)、问题排查
1、首先查看是哪些进程的CPU占用率最高(如下可以看到详细的路径)
ps -aux --sort -pcpu | more
# 定位有问题的线程可以用如下命令
ps -mp pid -o THREAD,tid,time | more
2、查看JAVA进程的每个线程的CPU占用率
ps -Lp 5798 cu | more # 5798是查出来进程PID
3、追踪线程,查看负载过高的原因,使用JDK下的一个工具
jstack 5798 # 5798是PID
jstack -J-d64 -m 5798 # -j-d64指定64为系统
jstack 查出来的线程ID是16进制,可以把输出追加到文件,导出用记事本打开,
再根据系统中的线程ID去搜索查看该ID的线程运行内容,可以和开发一起排查。
(3)、常见的处理办法
网站相关进程导致负载高处理办法:
1、直接把网站php或http或tomcat等网站服务重启,很多时候负载就降下来了
2、也可能是网站代码漏洞导致的,需要反馈开发一起查找原因和处理
3、把重复的tomcat kill全部掉重新启动
mysql进程导致的负载高处理办法:
1、常见的就是mysql慢查询导致,可以在mysql慢查询日志找到相关sql语句,这需要对sql进行优化
2、还可以进入mysql,用show full processlist\G;查看那个mysql进程执行时间比较久的慢查询。如果是内部后台使用的语句,可以先kill掉,优化后再执行。
3、mysql读写太频繁,如果是读写频繁可以在%wa等待输入输出看的出来占用cpu百分比很大。也可以通过命令iostat查看系统读写情况。
还有可能是网络原因,系统硬件原因等
相关文章推荐
- 解决WinXP系统中CPU占用率过高问题
- cURL multi批处理实现及避免cURL multi造成CPU负载过高问题
- xen虚拟机cpu负载过高性能问题
- Linux下高cpu解决方案(转载) 昨天搞定了一个十万火急的issue,客户抱怨产品升级后系统会变慢和CPU使用率相当高,客户脾气很大,声称不尽快解决这个问题就退货,弄得我们 R&D压力很大,解决这
- cURL multi批处理实现及避免cURL multi造成CPU负载过高问题
- tomcat cpu占用过高,系统负载高问题跟踪
- 解决PaintEvent时候CPU负载过高的问题
- PHP升级导致系统负载过高问题分析
- 64位系统上运行WMware虚拟机导致CPU利用率过高的问题解决
- [转载] PHP升级导致系统负载过高问题分析
- 分析 PHP升级导致系统负载过高问题(转载)
- java问题导致linux负载、cpu过高如何定位
- web应用导致系统负载过高问题排查
- VirtualBox cpu 占用过高问题的解决[转]
- memCached客户端CPU过高问题的排查
- 系统平均负载(Load average)与CPU利用率
- Direct2d CPU占用过高的问题
- 使用jstack分析CPU消耗过高的问题
- lsof命令导致CPU负载异常的问题总结
- 利用shell脚本来监控linux系统的负载与CPU占用情况