Linux vmstat 命令 - 统计虚拟内存情况
介绍
vmstat(英文全拼:virtual memory statistics)命令用于统计 Linux 系统虚拟内存使用情况,可实时动态监视操作系统的虚拟内存、进程、CPU 活动。
语法:
vmstat [options] [delay [count]]
选项:
delay:两次输出之间的延迟时间,如果未指定,则只打印一次报告(包含自启动以来的平均值)count:统计次数(定义 delay 参数时生效),如果未指定,默认为无限次。-a,--active:显示处于 active 和 inactive 状态的内存量。-f,--forks:显示自启动以来的 forks 数,包括fork()、vfork()和clone()系统调用,相当于创建的任务总数。每个进程由一个或多个任务表示,具体取决于线程使用情况。该选项不支持重复显示。-m,--slabs:显示 slab 信息。-n,--one-header:在周期性输出时,只显示一次头部信息。-s,--stats:显示各种事件计数器和内存统计信息的表格。该选项不支持重复显示。-d,--disk:报告磁盘统计信息。-D,--disk-sum:报告有关磁盘活动的一些摘要统计信息。-p,--partition device:显示磁盘分区详细统计。-S,--unit character:在 1000 (k)、1024 (K)、1000000 (m) 或 1048576 (M) 字节之间切换。注意:这不会改变 block (bi/bo) 字段单位,这些字段始终以块为单位进行测量。-t,--timestamp:在每一行后面附上时间戳。-w,--wide:以宽模式输出(适用于具有更高内存量的系统),输出宽度超过每行 80 个字符。-V,--version:显示版本信息并退出。-h,--help:显示帮助信息并退出。
示例
显示系统虚拟内存统计信息(连续输出 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 st
1 0 0 407004 111360 308324 0 0 5039 30 65 243 12 6 78 4 0
1 0 0 407508 111372 308328 0 0 0 42 980 762 26 1 73 0 0
2 0 0 407256 111392 308332 0 0 0 47 974 749 26 1 73 0 0
3 0 0 919572 111400 308340 0 0 0 28 818 680 13 2 85 0 0
0 0 0 919288 111676 308428 0 0 0 614 1200 1325 1 3 97 0 0
字段含义:
- Procs(进程)
- r :运行队列中进程数量
- b :等待 IO 的进程数量
- Memory(内存)
- swpd :使用虚拟内存大小
- free :可用内存大小
- buff :用作缓冲区的内存大小
- cache :用作缓存的内存大小
- Swap
- si :每秒从交换区写到内存的大小
- so :每秒写入交换区的内存大小
- IO(现在的 Linux 版本块的大小为 1024 bytes)
- bi :每秒读取的块数
- bo :每秒写入的块数
- System
- in :每秒中断数,包括时钟中断
- cs :每秒上下文切换数
- CPU(以百分比表示)
- us :用户进程执行时间(user time)
- sy :系统进程执行时间(system time)
- id :空闲时间(包括 IO 等待时间)(idle time)
- wa :等待 IO 时间(wait time)
