NL-GLSJ01:~ # vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 66796 375200 632352 29750784 0 0 2896 45 0 0 4 1 93 2 0
NL-GLSJ01:~ # vmstat 3 (每隔3秒打印一次)
procs -----------memory---------- ---swap-- -----io---- -system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 66796 369120 632364 29750772 0 0 2896 45 0 0 4 1 93 2 0
0 0 66796 374152 632376 29750760 0 0 100 217 6026 4385 1 1 98 0 0
0 0 66796 374796 632376 29750760 0 0 83 188 6706 5100 1 1 98 0 0
1 0 66796 373804 632388 29750748 0 0 93 337 6816 4902 1 1 98 0 0
0 0 66796 374672 632396 29750740 0 0 72 239 6012 4411 1 0 98 0 0
0 0 66796 385820 632408 29750728 0 0 317 553 5571 4247 1 1 98 0 0
1 0 66796 381924 632428 29750708 0 0 196 375 5996 4767 1 1 98 0 0
procs:
r 等待执行的任务数(展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了)
b
memory:
swpd 正在使用的swap大小单位K(66796K)
free 空闲的内存空间(374152K)
buff 已使用的buff大小,对块设备的读写进行缓冲 (632376)
cache 已使用的cache大小,文件系统的cache(29750760 )
swap:
si 交换内存使用,由磁盘调入内存 (0)
so 交换内存使用,由内存调入磁盘 (0)
io:
bi 从块设备读入的数据总量(读磁盘)(KB/s)(100)
bo 写入到块设备的数据总量 (写磁盘)(KB/S)(217)
system:
in 每秒产生的中断次数(6026)
cs每秒产生的上下文切换次数(4385)
上面这2个值越大,会看到由内核消耗的CPU时间会越多
CPU:
us 用户进程消耗的CPU时间百分比(1)
us 的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超过50% 的使用,那么我们就该考虑优化程序算法或者进行加速了
sy 内核进程消耗的CPU时间百分比(1)
sy 的值高时,说明系统内核消耗的CPU资源多,这并不是良性的表现,我们应该检查原因。
id 空闲 (98)
wa IO等待消耗的CPU时间百分比(0)
st (0)
wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。