vmstat
是一个非常有用的 Linux 命令行工具,主要用于监视系统虚拟内存统计信息以及系统的整体健康状况。通过 vmstat
可以查看如物理和虚拟内存、交换空间利用率、进程数、块 I/O 活动、上下文切换等重要指标,帮助管理员和开发者了解当前系统的负载情况。
vmstat [选项]
vmstat
是一个多功能工具,其最简单的形式只需通过命令即可运行。通常情况下,它会以表格的形式输出当前的系统状态。
直接执行 vmstat
可以查看系统的即时状态:
$ vmstat
输出可能如下所示:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 235768 119724 373792 0 0 0 0 30 43 2 1 97 0 0
-s
-s
选项会输出详细的系统状态信息,包括内存、交换区、磁盘使用情况等:
$ vmstat -s
示例输出:
Memory: 4194304 k total physical memory
258176 k free physical memory
1348416 k used physical memory
36620 k max shared memory
4194304 k total virtual memory
2048796 k available virtual memory
251876 k active physical memory
1093104 k inactive physical memory
371528 k dirty physical memory
2688160 k writeback physical memory
42329728 k pagebench resident pages
41380480 k pagebench mapped file pages
119344 k anon pages in swap cache
51180 k swap cache
363116 k reserved memory
-d
-d
选项用于显示 I/O 设备的详细信息:
$ vmstat -d
示例输出:
disk: total used free %used iops bps_sequ bps_random
sda 19052846 73857820 22462865 30.2% 0 0 0
sr0 19052846 15692 19037154 0.0% 0 0 0
-n
-n
选项用于指定哪些统计信息要显示,例如 c
表示 CPU 使用情况,m
表示内存使用情况等:
$ vmstat -n c m
示例输出:
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 235768 119724 373792 0 0 0 0 30 43 2 1 97 0 0
-p
-p
选项用于指定显示特定的进程或线程:
$ vmstat -p PID
你可以通过添加参数来实现 vmstat
的实时输出,如每秒更新一次数据:
$ vmstat 1
这样可以持续地看到系统状态的变化。
vmstat
是一个强大的工具,适用于日常维护和性能调优。通过简单的命令行操作即可获取到系统的整体健康状况信息,帮助用户快速定位问题并进行相应的调整。