vmstat 详解

命令示例:

  • vmstat 1 5 (每秒打印一次,共输出10次)
  • vmstat -S m 1 10(-S k 按kb单位展示,m 按mb单位展示)

输出内容:

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 172204  25000 170544    0    0    10     5    0    1  1  1 99  0  0
 0  0      0 172188  25000 170564    0    0     0     0 1705 3196  2  2 96  0  0
 0  0      0 172188  25000 170564    0    0     0     0 2184 3934  3  3 95  0  0
 0  0      0 172064  25000 170564    0    0    52     0 2215 4035  4  4 92  0  0
 0  0      0 172064  25000 170564    0    0     0     0 2024 3839  2  2 96  0  0

输出解释:

  • procs
    • r:等待访问处理器的进程总数。展示CPU运行饱和度,不包含IO。
    • b:sleep 状态的进程数。
  • memory(与 free 命令输出的内容类似)
    • swpd:交换区大小,大于0说明内存不足。
    • free:未分配的内存
    • buff:缓冲区大小,一般只有几十M(缓冲区会记住目录中的内容,文件权限以及跟踪正在为特定块设备写入或读取内存的内容。)
    • cache:缓存大小,通常几个G(缓存只包含文件本身的内容。)
  • swap
    • si/so:swap-in/swap-out 这个值大于0说明内存不足使用到交换区了
  • io
    • bi/bo:blocks-in/blocks-out 每秒有多少个块输入或输出
  • system
    • in:每秒有多少系统中断(system interrupts)发生
    • cs:每秒有多少c上下文切换(context switches)发生
  • cpu(us+sy+id+wa+st = 100)
    • us(user time):处理用户级任务的时间占比
    • sy(system time):处理内核任务的时间占比
    • id(idle):空闲时间占比
    • wa(wait I/O):等待处理任务的时间占比
    • st(steal time):虚拟化环境下

参考连接

    原文作者:某尤
    原文地址: https://www.jianshu.com/p/a8efaea77c48
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞