vmstat命令来自英文词组“Virtual Memory Statistics”的缩写,其功能是用于监视系统资源状态。Linux系统工程师可以使用vmstat查看到系统关于进程、内存、硬盘I/O等整体运行状态,但很遗憾无法深入分析。轻量级的性能查看工具,不会给系统带来什么负担。

语法格式:vmstat [参数] [对象]

常用参数:

-a显示活动内页
-d显示磁盘状态
-D显示磁盘活动报告
-f显示进程总数
-h显示帮助信息
-m显示内存分配信息
-n设置头信息仅显示一次
-p显示指定硬盘分区状态
-s使用表格方式显示资源状态
-S设置显示信息的单位
-t显示时间戳
-V显示版本信息

参考示例

显示系统整体的资源状态:

[root@linuxcool ~]# vmstat -a
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 0  0   1804  91972 446044 770848    0    0   103     7   54   45  1  1 99  0  0

显示自启动后创建的进程总数:

[root@linuxcool ~]# vmstat -f
         3017 forks

显示指定的硬盘分区状态:

[root@linuxcool ~]# vmstat -p /dev/sda1
sda1            reads      read sectors      writes  requested writes
                 1876             14646           3              4096

显示内存分配机制信息(SLAB):

[root@linuxcool ~]# vmstat -m
Cache                       Num  Total   Size  Pages
fuse_request                 40     40    400     40
fuse_inode                   39     39    832     39
nf_conntrack                255    255    320     51
AF_VSOCK                     40     40   1600     20
rpc_inode_cache              46     46    704     46
isofs_inode_cache           138    138    704     46
xfs_dqtrx                     0      0    528     62
………………省略部分输出信息………………

以表格方式显示事件计数器和内存状态:

[root@linuxcool ~]# vmstat -s
      2013304 K total memory
      1400608 K used memory
       774252 K active memory
       409036 K inactive memory
       114132 K free memory
         2156 K buffer memory
       496408 K swap cache
      2097148 K total swap
………………省略部分输出信息………………

设置每间隔1秒刷新显示一次系统整体状态信息:

[root@linuxcool ~]# 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
 0  0   3852 125000   2156 496420    0    0    61     5   44   40  0  1 99  0  0
 0  0   3852 124908   2156 496420    0    0     0     2  787  673  1  2 98  0  0
 0  0   3852 124908   2156 496420    0    0     0     0 1282 1038  1  2 97  0  0
 0  0   3852 124908   2156 496420    0    0     0     0 1455 1230  1  3 96  0  0
^C
[root@linuxcool ~]# 
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。