日期:2014-05-16  浏览次数:20743 次

linux系统查看系统性能命令详解(2)
3.vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
1  1 1385712  66752 112164 1429992  3    4    14    50   14    2 10  2 88  1  0
1  0 1385712  64540 112208 1430976  0    0     3   104 2599 6595 15  2 81  3  0
0  0 1385712  62084 112232 1433008  0    0     1  1276 2068 7772 18  1 77  4  0
0  0 1385712  60808 112232 1434036  0    0     1    29  730 3686  9  1 90  1  0

参数详解:
r:当前系统中等待CPU的进程数(所有的CPU),若是改值连续都大于CPU的个数,表明有多数进程在等待CPU进行处理。若是该值大于CPU个数4倍的话,那么表明该服务器缺少CPU,或者CPU的处理速度过慢

in :cpu每秒产生的中断数
cs :每秒产生的上下文切换

us:用户占用的CPU时间百分比,同mpstat 的%user,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速(比如PHP/PERL)
sy:系统占用的CPU时间百分比,同mpstat 的%sys。内核进程消耗的CPU时间百分比(sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因)
id:CPU处于空闲状态时间百分比,如果空闲时间(cpu id)持续为0并且系统时间(cpu sy)是用户时间的两倍(cpu us) 系统则面临着CPU资源的短缺.
wa:IO等待消耗的CPU时间百分比,wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。

us+sy+id = 100%

常见用法:
vmstat -n 3 //每三秒获取一次数据
vmstat 4 5  //间隔4次输出5次数据

概念详解:
  上下文切换:CPU的切换就是将轮到该时间片的进程,将该进程中的数据从内容中刷到CPU的寄存器中,同时将原寄存器中的数据刷到内存中保存。