linux的cpu性能评估
参考自:自学it网,http://www.zixue.it/。
(1)利用vmstat命令监控系统CPU
[test@localhost ~]$ vmstat 2 3 #每2秒更新信息,统计3次
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 1661116 2132 122456 0 0 268 22 132 158 1 1 97 2 0
r 表示运行和等待cpu时间片的进程数,这个值如果长期大于系统CPU的个数,
说明cpu不足,需要增加cpu。
b表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。
us表示用户进程消耗的cpu时间百分比,如果长期大于50%,就需要考虑程序或算法。
sy表示内核消耗的cpu时间百分比,如果较高,说明内核消耗cpu资源很多。
根据经验,us+sy的参考值大于80%,说明可能存在CPU资源不足。
(2)利用sar命令监控系统cpu。
sar -u 3 5 #显示系统所有cpu在采样时间内(每隔3秒,统计5次)的负载状态
[test@localhost /]$ sar -u 3 5
Linux 3.10.0-862.9.1.el7.x86_64 (localhost.localdomain) 2018年10月11日 _x86_64_ (1 CPU)
16时01分23秒 CPU %user %nice %system %iowait %steal %idle
16时01分26秒 all 0.00 0.00 0.33 0.00 0.00 99.67
16时01分29秒 all 0.00 0.00 0.00 0.00 0.00 100.00
16时01分32秒 all 0.00 0.00 0.00 0.00 0.00 100.00
16时01分35秒 all 0.00 0.00 0.00 0.00 0.00 100.00
16时01分38秒 all 0.00 0.00 0.33 0.00 0.00 99.67
平均时间: all 0.00 0.00 0.13 0.00 0.00 99.87
解释如下:
%user 显示了用户进程消耗的cpu时间百分比。
%nice 显示了运行正常进程所消耗的cpu时间百分比。
%system 显示了系统进程消耗的cpu时间百分比。
%iowait 显示了io等待所占有的cpu时间百分比。
%steal 显示了内存相对紧张的环境下pagein强制对不同页面进行的steal操作。
%idle 显示了cpu处于空闲状态的时间百分比。