vmstat概念
vmstat命令是 Virtual Meomory Statistics(虚拟内存统计)的缩写,可用来动态监控系统资源的 CPU 使用、进程状态、内存使用、虚拟内存使用、硬盘输入/输出状态等信息使用情况
vmstat下载
yum -y install sysstat
vmstat命令参数
基本格式
[root@localhost ~]# vmstat [选项]
[root@localhost ~]# vmstat [刷新延时 刷新次数]
选项参数
-a(active) 显示活跃和非活跃内存
-f(forks) 显示从系统启动至今的fork数量
-m(slabs) 显示slabinfo
-n(one-header) 只在开始时显示一次各字段名称
-s(stats) 显示内存相关统计信息及多种系统活动数量
-d(disk) 显示磁盘相关统计信息
-D(disk-sum) 磁盘总和汇总磁盘统计信息
-p(partition <dev>) 查看硬盘分区的读写情况
-S(unit <char>) 令输出的数据显示单位,例如用 K/M 取代 bytes 的容量
-w(wide) 宽输出
-t(timestamp) 显示时间戳
-h(help) 显示此帮助并退出
-V(version) 输出版本信息并退出
操作示例
每隔两秒输出三次数据
[root@localhost ~]# vmstat 2 3
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 3887820 2108 305320 0 0 3 0 7 8 0 0 100 0 0
0 0 0 3887704 2108 305320 0 0 0 0 43 67 0 0 100 0 0
0 0 0 3887704 2108 305320 0 0 0 0 39 60 0 0 100 0 0
命令字段说明
|--------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 字段 | 含义 |
| procs | 进程信息字段 * r:等待 CPU 运行的进程数,数量越大,系统越繁忙(负载瓶颈:3,5,10) * b:等待资源的进程数,数量越大,系统越繁忙 |
| memory | 内存信息字段: * swpd:虚拟内存的使用情况,单位为 KB * free:空闲的内存容量,单位为 KB * buff:缓冲的内存容量,单位为 KB * cache:缓存的内存容量,单位为 KB 缓存(cache)是用来加速数据从硬盘中读取的,而缓冲(buffer)是用来加速数据写入硬盘的 |
| swap | 交换分区信息字段: * si:从磁盘中交换到内存中数据的数量,单位为 KB * so:从内存中交换到磁盘中数据的数量,单位为 KB 这两个数越大,表明数据需要经常在磁盘和内存之间进行交换,系统性能越差 |
| io | 磁盘读/写信息字段: * bi:从磁盘中读入的数据的总量,单位为 KB * bo:写到磁盘的数据的总量,单位为 KB 这两个数越大,代表系统的 I/O 越繁忙。 |
| system | 系统信息字段: * in:每秒被中断的进程次数 * cs:每秒上下文的切换次数 这两个数越大,代表系统与接口设备的通信越繁忙。 |
| cpu | CPU信息字段: us:CPU应用进程使用率 sy:系统核心CPU使用率 id:CPU空闲率 wa:等待 I/O 的占用率 st:当 hypervisor 服务另一个虚拟处理器的时候,虚拟 CPU 等待实际 CPU 的时间的百分比 如果us+sy 大于 80%说明可能存在CPU不足,如果wa超过30%,说明IO等待比较严重 |