vmstat命令详解

vmstat命令用来获得有关进程、虚存、页面交换空间及 CPU活动的信息。这些信息反映了系统的负载情况。

输出项

类别 项目 含义 说明
Procs r 等待执行的任务数 展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了
  b    
Memory swpd 正在使用的swap大小单位K  
  free 空闲的内存空间  
  buff 已使用的buff大小,对块设备的读写进行缓冲  
  cache 已使用的cache大小,文件系统的cache  
  inact    
  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(表示在5秒时间内进行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命令输出分成六个部分:


procs, 下面三种状态的进程数

  • r 等待运行的进程数
  • b 在等待的进程数(通常在等待 IO)
  • w 可进入运行队列但被替换的进程(Solaris vmstat)

        memory, 虚拟内存和实存信息

  • swpd 虚拟内存使用情况, unit:kb
  • free 空闲的内存, unit:kb
  • buff 被用来做 buffer 的内存数, unit:kb
  • cache 被用来做 cache 的内存数, unit:kb
  • inactive 闲置的内存,unit:kb, -a显示
  • active 活动内存, unit:kb,-a显示

        swap, 显示磁盘与内存每秒的交换

  • si 从磁盘交换到内存的交换页数量, unit:kb
  • so 从内存交换到磁盘的交换页数量, unit:kb

        io, 显示块设备每秒发送和收到的块数

  • bi 发送到块设备的块数, unit: blocks
  • bo 从块设备接收到的数据, unit:blocks

        system

  • in 每秒的中断数, 包括时钟中断
  • cs 每秒的环境切换次数

        CPU, CPU 故障时间的百分比, 在多处理器系统上, 这是全部处理器的平均值

  • us CPU 使用时间(except kernel)
  • sy CPU 系统使用时间(内核)
  • id 闲置时间
  • wa 等待 IO 的时间
  • st

        disk, 显示每秒的磁盘操作, s 表示 scsi 盘, 0 表示盘号

        pages, 每秒页面调度活动数量的信息(Solaris vmstat)

  • re 回收的页面
  • mf 非常严重错误的页面
  • pi 进入页面数, unit:KB
  • po 出页面数, unit:KB
  • fr 空也的页面数, unit:KB
  • de 提前读入的页面中的未命中数
  • sr 通过时钟算法扫描的页面

        fault, 显示每秒的中断数(Solaris vmstat)

  • in 设备中断
  • sy 系统中断
  • cy cpu交换

        准测

  • r40

        表明磁盘io没有也许存在不合理的平衡, 或者对磁盘操作比较频繁

  • 如果 r 经常大于 4 , 且 id 经常少于 40, 表示 CPU 的负荷很重
  • 如果 pi, po 长期不等于 0, 表示内存不足
  • 如果 disk 经常不等于 0, 且在 b 中的队列大于 3, 表示 io 性能不好

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值