linux vmstat命令详解



linux vmstat命令详解
 
mstat命令用来获得有关进程、虚存、页面交换空间及 CPU活动的信息。这些信息反映了系统的负载情况。 
输出项 
类别 项目 含义 说明 
Procs r 等待执行的任务数 展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了 
  b   
Memory swpd 正在使用的swap大小单位K 
  free 空闲的内存空间 
  buff 已使用的buff大小,对块设备的读写进行缓冲 
  cache 已使用的cache大小,文件系统的cache 
  inact www.2cto.com  
  active   
 
Swap si 交换内存使用,由磁盘调入内存 
  so 交换内存使用,由内存调入磁盘 
IO bi 从块设备读入的数据总量(读磁盘) (KB/s), 
  bo 写入到块设备的数据总理(写磁盘) (KB/s) 
System in 每秒产生的中断次数 
  cs 每秒产生的上下文切换次数 上面这2个值越大,会看到由内核消耗的CPU时间会越多 
CPU us 用户进程消耗的CPU时间百分比 us 的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超过50% 的使用,那么我们就该考虑优化程序算法或者进行加速了 
 
  sy 内核进程消耗的CPU时间百分比 sy 的值高时,说明系统内核消耗的CPU资源多,这并不是良性的表现,我们应该检查原因。 
  id 空闲 
  wa IO等待消耗的CPU时间百分比 wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。 
 
命令比较简单,但涉及到的内存、磁盘、cpu之间的关系还是挺复杂的,需要进一步学习相关的knowledge。 
 
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。通常使用vmstat 5 5(表示delay5s 然后计数5次)命令测试。将得到一个数据汇总他能够反映真正的系统情况。 
 
#vmstat 5 5 
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- 
r b   swpd   free   buff cache   si   so    bi    bo   in    cs us sy id wa 
1 0 62792   3460   9116 88092    6   30   189    89 1061   569 17 28 54 2 
0 0 62792   3400   9124 88092    0    00    14 884   434 4 14 81 0 
0 0 62792   3400   9132 88092    0    00    14 877   424 4 15 81 0 
1 0 62792   3400   9140 88092    0    00    14 868   418 6 20 74 0 
1 0 62792   3400   9148 88092    0    00    15 847   400 9 25 67 0 
 
Linux 内存监控vmstat命令输出分成六个部分: 
  www.2cto.com  
(1)进程procs: 
r:在运行队列中等待的进程数 。 
b:在等待io的进程数 。 
 
(2)Linux 内存监控内存memoy: 
swpd:现时可用的交换内存(单位KB)。 
free:空闲的内存(单位KB)。 
buff: 缓冲去中的内存数(单位:KB)。 
cache:被用来做为高速缓存的内存数(单位:KB)。 
 
(3) Linux 内存监控swap交换页面 
si: 从磁盘交换到内存的交换页数量,单位:KB/秒。 
so: 从内存交换到磁盘的交换页数量,单位:KB/秒。 
 
(4)Linux 内存监控 io块设备: 
bi: 发送到块设备的块数,单位:块/秒。 
bo: 从块设备接收到的块数,单位:块/秒。 
 
(5)Linux 内存监控system系统: 
in: 每秒的中断数,包括时钟中断。 
cs: 每秒的环境(上下文)转换次数。 
  www.2cto.com  
(6)Linux 内存监控cpu中央处理器: 
cs:用户进程使用的时间 。以百分比表示。 
sy:系统进程使用的时间。 以百分比表示。 
id:中央处理器的空闲时间 。以百分比表示。 
 
假如 r经常大于 4 ,且id经常小于40,表示中央处理器的负荷很重。
假如bi,bo 长期不等于0,表示物理内存容量太小。

相关内容

    暂无相关文章