vmstat命令可以动态地查看系统资源的使用情况,如内存/交换分区/CPU的使用情况,通过使用该命令可以判断系统的瓶颈在哪里:
[root@localhost ~]$ vmstat 1 5 # 表示每隔一秒钟采集一次,总共采集五次 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- # 分别表示: r b swpd free buff cache si so bi bo in cs us sy id wa st # procs --- 进程信息 1 0 0 75812 1996 203292 0 0 66 18 13 12 0 0 99 0 0 # memory --- 内存的使用情况 0 0 0 82480 872 197284 0 0 15652 56 592 674 1 2 75 22 0 # swap --- 交换分区的使用情况 0 0 0 79920 872 200316 0 0 3080 0 413 530 2 1 97 0 0 # io --- 系统IO信息 0 0 0 79092 896 198424 0 0 32420 0 947 1171 7 2 81 10 0 # system --- 系统相关的信息 0 0 0 78592 896 199352 0 0 952 0 476 621 1 1 97 1 0 # cpu --- CPU的使用情况(百分比的形式)
r:表示等待执行的进程数,或者说运行队列,如果这个值长期大于1,表示CPU一直处于繁忙的状态,可以考虑加CPU了
b:表示等待IO的进程数,也就是被阻塞的进程数
swpd:使用到交换分区的大小,单位是K,如果这个值一直大于零,则表明内存不够了
free:
buff:
cache:
si:只有 swpd 那一列有值,这一列才有值,表示
so:只有 swpd 那一列有值,这一列才有值,表示
bi:表示从磁盘中拿出来,然后读到内存的数据量的大小,也就是读操作,单位是K
bo:表示从内存中拿出来,然后写到磁盘的数据量的大小,也就是写操作,单位是K
in:
cs:
us:用户正在运行的进程占用CPU的百分比
sy:系统正在运行的进程占用CPU的百分比
id:空闲的CPU的百分比,us + sy + id 三者的百分比相加等于 100%
wa:
st: