本文是使用vmstat命令监控CPU使用的续文。
在Linux
下使用vmstat
命令可以得到系统CPU
的使用状态:
# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 1860352 948 131040 0 0 2433 137 252 897 2 7 90 1 0
其中描述CPU
状态的是最后5
列:
------cpu-----
us sy id wa st
2 7 90 1 0
要注意,上面数字的含义是百分比。即CPU
运行user space
程序的时间占2%
,。。。
各列含义如下:
us
(user time
):CPU
运行user space
代码的时间;
sy
(system time
):CPU
运行kernel
代码的时间,比如执行系统调用;
id
(idle time
):CPU
处于idle
状态的时间;
wa
(IO-wait time
):CPU
处于idle
状态,因为所有正在运行的进程都在等待I/O
操作完成,因此当前无可以调度的进程;
st
(stolen time
):CPU
花费在执行系统上运行的虚拟机的时间。
参考资料:
The precise meaning of I/O wait time in Linux;
Linux Performance Analysis in 60,000 Milliseconds。