发现服务器的cpu使用率特别高

排查思路:

-使用top或者mpstat查看cpu的使用情况

mpstat -P ALL 2 1

Linux 2.6.32-358.el6.x86_64 (linux—host) 01/05/2016 _x8664 (24 CPU)

04:41:13 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle

04:41:15 PM all 0.56 0.00 0.25 0.00 0.00 0.04 0.00 0.00 99.14

04:41:15 PM 0 3.08 0.00 1.03 0.00 0.00 0.51 0.00 0.00 95.38

04:41:15 PM 1 1.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 98.00

04:41:15 PM 2 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 99.00

04:41:15 PM 3 1.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 98.51

04:41:15 PM 4 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50

04:41:15 PM 5 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 99.00

04:41:15 PM 6 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 99.00

04:41:15 PM 7 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50

04:41:15 PM 8 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 99.00

04:41:15 PM 9 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50

04:41:15 PM 10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

04:41:15 PM 11 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50

04:41:15 PM 12 1.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 98.00

04:41:15 PM 13 1.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 98.00

04:41:15 PM 14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

04:41:15 PM 15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

04:41:15 PM 16 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50

04:41:15 PM 17 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50

04:41:15 PM 18 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50

04:41:15 PM 19 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50

04:41:15 PM 20 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

04:41:15 PM 21 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

04:41:15 PM 22 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

04:41:15 PM 23 0.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 99.50

-top找出占用高的进程ID

-查看进程占用线程数量,如java:

ps -eLf|grep java|wc -l

1065

解决CPU使用不均或者使用过高的问题

taskset

taskset是LINUX提供的一个命令(ubuntu系统可能需要自行安装,schedutils package)。他可以让某个程序运行在某个(或)某些CPU上。

1)显示进程运行的CPU

taskset -p 3495

pid 3495's current affinity mask: ffffffff

注:显示结果的ffffffff实际上是二进制32个低位均为1的bitmask,每个1对应于1个CPU,表示该进程在32个CPU上运行

2)指定进程运行在某个特定的CPU上

taskset -pc 3 3495

显示结果:

pid 3495's current affinity list: 0-31

pid 3495's new affinity list: 3

注:3表示CPU将只会运行在第4个CPU上(从0开始计数)

3)进程启动时指定CPU

taskset -c 1 ./redis-server ../redis.conf

系统CPU负载过高、CPU使用率不高的问题

(1)、问题

线上Tomcat服务器CPU的负载非常高,但是CPU使用率正常,如图:

图片.png

(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查看系统读写情况。

还有可能是网络原因,系统硬件原因等

linux服务器 cpu使用率过高,服务器CPU使用率过高排查与解决思路相关推荐

  1. Linux服务器CPU使用率过高排查与解决思路

    日常工作中有时候会遇到Linux服务器上出现CPU负载过高的情况,影响程序的运行,一般的排除思路如下: 方法一: 使用top命令 然后按shift+p按照CPU排序,找到占用CPU过高的进程的pid ...

  2. window服务器cpu过高的排查_服务器CPU使用率过高排查与解决思路

    发现服务器的cpu使用率特别高 排查思路: -使用top或者mpstat查看cpu的使用情况 mpstat -P ALL 2 1 Linux 2.6.32-358.el6.x86_64 (linux- ...

  3. win8无线网服务器,Win7/Win8/win8.1的无线网络连接受限故障及解决思路汇总

    相信很多朋友们在使用win7系统或者win8/win8.1系统时往往都会遇到一些无线网络连接错误问题,针对这些问题,百事网小编给大家汇总了win7/win8/win8.1无线网络连接受限故障及解决思路 ...

  4. linux 磁盘满了 预警,Linux磁盘空间满了的排查与解决思路

    block正常满 (磁盘实际不足) inode 满 大量的小文件 block 满 文件没有被彻底删除(硬链接数0 进程调用数不为0) 解放方法: 1 查看df -h 磁盘使用量根据占用量大小逐步逐步排 ...

  5. xp路由器播放服务器无响应,路由器界面打不开的故障排查及解决方法全程图解...

    路由器界面打不开怎么办?别担心,下面为您图文并茂的讲解. 1. 路由器界面打不开之现象与故障排查. 1) 请确认自己的线路是否连接正确,点击该链接查看线路连接是否正确. 2) 现象1:本地连接显示已连 ...

  6. 关于Exchange邮箱服务器角色故障排查及解决思路分享

    在最近一次关于Exchange服务器故障中,出现了员工无法进入邮箱的问题,最直接方法来登录OWA页面,看看正常不正常,反映出来的报错信息如下: 当接到这个报障后,第一时间,当时有人问到是不是公司的CA ...

  7. dhcp服务器响应慢,请教下大家DHCP获取慢的原因和解决思路

    您好,请知: 终端接入的端口开启STP边缘端口,以下是参考命令: int gi 1/0/1 stp edge-port quit 以下是DHCP无法自动获取IP地址.获取异常的参考思路及命令: 1.检 ...

  8. cent os重置mysql,linux mysql 能登陆不能修改用户(cent os 6.2)解决思路

    linux mysql 能登陆不能修改用户(cent os 6.2) [root@3mao /]# select user,host,password from mysql.user bash: sy ...

  9. linux php cpu,获取Linux服务器性能CPU、内存、硬盘等使用率 PHP

    数据库配置文件: conn.php define("MONITORED_IP", "172.16.0.191");  //被监控的服务器IP地址  也就是本机地 ...

最新文章

  1. 不使用fastreport自带的条码组件打印快递单(一款很不错的条码组件下载)
  2. windows十大必禁服务
  3. Golomb及指数哥伦布编码原理介绍及实现
  4. 计算机应用专业综合理论试卷2009,2009年湖南对口升学计算机应用专业综合试卷121...
  5. 一次历史漏洞分析与复现的全部过程
  6. iLO4外网访问时不能启动控制台
  7. [css] 怎么去掉点击a链接或者图片出现的边框?
  8. ide快捷键_一款好用的IDE怎么可以没有代码提示?
  9. POJ3728 THE MERCHANT LCA RMQ DP
  10. CSS和JS引用图片(资源)的路径问题
  11. Ubuntu系统 -- 初始化配置与基础操作
  12. 高性能MYSQL(查询优化)
  13. 临江屯的月亮湾---月亮泡子
  14. 5.26——工作记录
  15. HTTP协议详解1----请求状态与响应
  16. 数理逻辑 形式可推演与逻辑推论
  17. Css打造一个简单的静态七巧板
  18. 给博客添加rss订阅
  19. CSS 的权重和优先级
  20. NC6自助开发文件存放路径及一些总结以及修改自助登录界面的样式、图片、添加文字提示等文件

热门文章

  1. 虚拟服务器的克隆,怎么克隆远程服务器上的虚拟机
  2. CSGO控制台与常用指令
  3. 百度地图api根据详细地址反查坐标
  4. 小白也能轻松上手的Prometheus教程
  5. STM32:RTC实时时钟原理
  6. 【ERROR】INSERT 语句与 CHECK 约束CK__Student__Ssex__6EF57B66冲突。
  7. IDEA启动报错Plugin Error Problems found loading plugins: Plugin “GlassFish Integration“ was not...
  8. 最强整理:阿里云大师深入拆解Java虚拟机,经典好文
  9. mysql在购物车中的应用_ajax在购物车中的应用
  10. 启动kafka过一会进程自动挂掉问题原因