澳门威利斯人_威利斯人娱乐「手机版」

来自 澳门威利斯人 2019-10-13 10:40 的文章
当前位置: 澳门威利斯人 > 澳门威利斯人 > 正文

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

mpstat 是Multi ProcessorStatistics的缩写,与sar同样满含在sysstat包中,它报告CPU相关计算消息,这一个音信寄放在/proc/stat中。
该命令私下认可景况下显示AM、PM格式的时日,必要通过LANG=C来钦定它利用24钟头制时间;该命令援救delay和count三个参数,第1个参数是取值延时,单位秒,首个参数是取值次数。以上特性与sar是一样的。
mpstat[-P {|ALL}] [internal [count]]
mpstat 1 5        #以1秒步进取5次数据,取值范围为CPU计算

mpstat是MultiProcessor Statistics的缩写,是实时系统监察和控制工具。其报告与CPU的一部分总计消息,那一个消息贮存在/proc/stat文件中。在多CPUs系统里,其不只可以查看全数CPU的平分情状音信,并且能够查阅特定CPU的新闻。上面只介绍mpstat与CPU相关的参数,mpstat的语法如下:

服务器CPU使用率过高逐个审查与解决思路,cpu每一个核查

察觉服务器的cpu使用率特别高

各种调查思路:

-使用top恐怕mpstat查看cpu的运用状态
# mpstat -P ALL 2 1
Linux 2.6.32-358.el6.x86_64 (linux—host) 01/05/2016 _x86_64_ (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实际上是二进制三十一个未有均为1的bitmask,每种1对应于1个CPU,表示该进程在34个CPU上运行

2)钦定进度运行在有个别特定的CPU上

# taskset -pc 3 3495

来得结果:

pid 3495's current affinity list: 0-31
pid 3495's new affinity list: 3

注:3意味CPU将只会运作在第二个CPU上(从0初叶计数)

3)进度运营时钦点CPU

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

发掘服务器的cpu使用率非常高 排查思路: -使用top恐怕mpstat查看cpu的选用景况 # mpstat -P AL...

[root@desktop7 ~]# mpstat 1 5
Linux 2.6.32-220.el6.x86_64 (desktop7.example.com)      03/14/14        _x86_64_        (4 CPU)
05:44:54    CPU    %usr  %nice    %sys %iowait    %irq  %soft  %steal  %guest  %idle
05:44:55    all    0.26    0.00  17.40    9.09    0.26    0.52    0.00    0.26  72.21
05:44:56    all    0.00    0.00  12.53  11.76    0.00    0.77    0.00    0.26  74.68
05:44:57    all    0.00    0.00    9.36  31.09    0.37    3.00    0.00    0.00  56.18
05:44:58    all    0.00    0.00  11.48  19.40    0.00    0.82    0.00    0.00  68.31
05:44:59    all    0.00    0.00    7.07  17.02    0.00    1.57    0.00    0.26  74.08
Average:    all    0.06    0.00  11.73  16.75    0.11    1.23    0.00    0.17  69.96

mpstat [-P {|ALL}] [internal [count]]

mpstat -P ALL 2 1    #以2秒步进取1次数据,取值范围为CPU总括及各种CPU主题(注意第2列的区分)
[root@desktop7 ~]# mpstat -P ALL 2 1
Linux 2.6.32-220.el6.x86_64 (desktop7.example.com)      03/14/14        _x86_64_        (4 CPU)
05:42:02    CPU    %usr  %nice    %sys %iowait    %irq  %soft  %steal  %guest  %idle
05:42:04    all    0.13    0.00    0.00    0.00    0.00    0.00    0.00    0.00  99.87
05:42:04      0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
05:42:04      1    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
05:42:04      2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
05:42:04      3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

参数的含义如下:

数量含义
  %usr    顾客级应用的CPU利用率(百分比),对应sar的%user
  %nice    具有nice优先级的客户级应用的CPU利用率(百分比),对应sar的%nice
  %sys    kernel级指令的CPU利用率(百分比),对应sar的%system
  %iowait    等待未造成的磁盘I/O央求的CPU时间占比,对应sar的%iowait
  %irq    管理硬中断时间
  %soft    处理软中断时间
  %steal    设想CPU的调治等待时间(被hypervisor偷走的cpu时间),对应sar的%steal
  %guest    彰显运转虚构管理器时CPU开销时间的比例
  %idle    CPU空闲百分比(实际不是等候磁盘I/O的闲暇状态),对应sar的%idle

参数 解释

图片 1

-P {|ALL} 表示监控哪个CPU, cpu在[0,cpu个数-1]中取值

internal 相邻的四次采集样品的间隔时间

count 采集样品的次数,count只好和delay一齐使用

当未有参数时,mpstat则显得系统运行未来全数音讯的平均值。有interval时,第一行的音讯自系统运转以来的平分消息。

从第二行初始,输出为前一个interval时间段的平分音讯。与CPU有关的出口的含义如下:

参数 解释 从/proc/stat获得数据

CPU 处理器ID

user 在internal时间段里,客户态的CPU时间(%),不包罗 nice值为负 进程(usr/total)*100  

nice 在internal时间段里,nice值为负进程的CPU时间(%)   (nice/total)*100  

system 在internal时间段里,宗旨时间(%)   (system/total)*100

iowait 在internal时间段里,硬盘IO等待时间(%) (iowait/total)*100

irq 在internal时间段里,硬中断时间(%)      (irq/total)*100

soft 在internal时间段里,软中断时间(%)    (softirq/total)*100

idle 在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因此空闲的时刻闲置时间(%)(idle/total)*100

intr/s 在internal时间段里,每秒CPU接收的中断的次数intr/total)*100

本文由澳门威利斯人发布于澳门威利斯人,转载请注明出处:服务器CPU使用率过高排查与解决思路,Linux使用入

关键词: 澳门威利斯人