Linux vmstat 命令
作用
性能监控工具。
示例
vmstat 2 5
:每 2 秒执行 1 次,共执行 5 次。
下列示例中加了 -w 80
参数增加显示长度,目的是对齐字段值,Ctrl + C
可停止输出。
[root@localhost ~]# vmstat 2 -w 80
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 5015084 2132 2680884 0 0 0 2 2 9 0 0 100 0 0
0 0 0 5014944 2132 2680884 0 0 0 12 62 96 0 0 100 0 0
1 0 0 5014944 2132 2680884 0 0 0 0 57 87 0 0 100 0 0
0 0 0 5014920 2132 2680884 0 0 0 20 68 108 0 0 100 0 0
0 0 0 5014920 2132 2680884 0 0 0 0 61 91 0 0 100 0 0
说明
下列仅描述日常运维需注意的参数值。
字段 | 说明 |
---|---|
r | 表示有多少个进程在运行队列中等待 CPU。正常值应小于逻辑 CPU 核数,持续超过说明 CPU 资源不足。 |
b | 表示有多少个进程处于中断等待状态。正常值为 0,持续大于 0 说明可能存在 I/O 阻塞。 |
swpd | 表示内存和交换分区。数字处于静止状态时没有任何问题,一旦数值不停变化就需要额外注意,说明交换分区和内存在频繁地交换数据,内存空间不够使用,需增加交换分区的内存。 |
si | 表示有多少 KB 的数据从交换分区进入到内存中。 |
so | 表示有多少 KB 的数据从内存进入到交换分区中。 |
bi | 表示磁盘读的数据量有多少。 |
bo | 表示磁盘写的数据量有多少。bi 、bo 列的数值若在不停地变化,说明磁盘在不停地读写数据。 |
us | 表示用户使用的资源占 CPU 的百分比。该数值不会超过 100%,如果长时间大于 50%,则说明系统资源不够用。 |
sy | 表示系统本身的进程/服务占 CPU 的百分比。 |
id | 表示空闲 CPU 的百分比。us 、sy 、id 三者相加等于 100%。 |
wa | 表示等待 I/O 的 CPU 占用的比例。正常应小于 10%,持续大于说明磁盘或网络可能存在瓶颈。 |
st | 表示虚拟机偷取的比例。正常应小于 5%,持续大于说明虚拟化环境中物理资源被其他虚拟机抢占。 |