vmstat、mpstat

vmstat

vmstat 是个查看系统整体性能的小工具,小巧、即使在很 heavy 的情况下也运行良好,并且可以用时间间隔采集得到连续的性能数据。

$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  1    140 2787980 336304 3531996  0    0     0   128 1166 5033  3  3 70 25  0
 0  1    140 2788296 336304 3531996  0    0     0     0 1194 5605  3  3 69 25  0
 0  1    140 2788436 336304 3531996  0    0     0     0 1249 8036  5  4 67 25  0
 0  1    140 2782688 336304 3531996  0    0     0     0 1333 7792  6  6 64 25  0
 3  1    140 2779292 336304 3531992  0    0     0    28 1323 7087  4  5 67 25  0

参数介绍:

  • r,可运行队列的线程数,这些线程都是可运行状态,只不过 CPU 暂时不可用;

  • b,被 blocked 的进程数,正在等待 IO 请求;

  • in,被处理过的中断数

  • cs,系统上正在做上下文切换的数目

  • us,用户占用 CPU 的百分比

  • sys,内核和中断占用 CPU 的百分比

  • wa,所有可运行的线程被 blocked 以后都在等待 IO,这时候 CPU 空闲的百分比

  • id,CPU 完全空闲的百分比

    swpd,已使用的 SWAP 空间大小,KB 为单位;

  • free,可用的物理内存大小,KB 为单位;

  • buff,物理内存用来缓存读写操作的 buffer 大小,KB 为单位;

  • cache,物理内存用来缓存进程地址空间的 cache 大小,KB 为单位;

  • si,数据从 SWAP 读取到 RAM(swap in)的大小,KB 为单位;

  • so,数据从 RAM 写到 SWAP(swap out)的大小,KB 为单位;

  • bi,磁盘块从文件系统或 SWAP 读取到 RAM(blocks in)的大小,block 为单位;

  • bo,磁盘块从 RAM 写到文件系统或 SWAP(blocks out)的大小,block 为单位


mpstat

mpstat 和 vmstat 类似,不同的是 mpstat 可以输出多个处理器的数据,下面的输出显示 CPU1 和 CPU2 基本上没有派上用场,系统有足够的能力处理更多的任务。

$ mpstat -P ALL 1
Linux 2.6.18-164.el5 (vpsee) 11/13/2009

02:24:33 PM  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
02:24:34 PM  all    5.26    0.00    4.01   25.06    0.00    0.00    0.00   65.66   1446.00
02:24:34 PM    0    7.00    0.00    8.00    0.00    0.00    0.00    0.00   85.00   1001.00
02:24:34 PM    1   13.00    0.00    8.00    0.00    0.00    0.00    0.00   79.00    444.00
02:24:34 PM    2    0.00    0.00    0.00  100.00    0.00    0.00    0.00    0.00      0.00
02:24:34 PM    3    0.99    0.00    0.99    0.00    0.00    0.00    0.00   98.02      


你可能感兴趣的:(vmstat,mpstat)