68384">
4、vmstat详细介绍
vmstat是一个很全面的性能分析工具,可以观察到系统的进程状态、内存使用、虚拟内存使用、磁盘的IO、中断、上下文切换、CPU使用等。对于 Linux 的性能分析,100%理解 vmstat 输出内容的含义,并能灵活应用,那对系统性能分析的能力就算是基本掌握了。
下面是vmstat命令的输出结果:
[root@monitor-www ~]# 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;
1 0 84780 909744 267428 1912076 0 0 20 94 0 0 2 1 95 1 0;
1 2 84780 894968 267428 1912216 0 0 0 1396 2301 11337 8 3 89 0 0;
1 0 84780 900680 267428 1912340 0 0 76 1428 1854 8082 7 2 90 0 0;
1 0 84780 902544 267432 1912548 0 0 116 928 1655 7502 7 2 92 0 0;
2 0 84780 900076 267432 1912948 0 0 180 904 1963 8703 10 3 87 0 0;
对输出解释如下:
(1)procs
a、r列表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU个数,就说明CPU资源不足,可以考虑增加CPU;
b、b列表示在等待资源的进程数,比如正在等待I/O或者内存交换等。
(2)memory
a、swpd列表示切换到内存交换区的内存数量(以KB为单位)。如果swpd的值不为0或者比较大,而且si、so的值长期为0,那么这种情况一般不用担心,不会影响系统性能;
b、free列表示当前空闲的物理内存数量(以KB为单位);
c、buff列表示buffers cache的内存数量,一般对块设备的读写才需要缓冲;
d、cache列表示page cached的内存数量,一般作文件系统的cached,频繁访问的文件都会被cached。如果cached值较大,就说明cached文件数较多。如果此时IO中的bi比较小,就说明文件系统效率比较好。
(3)swap
a、si列表示由磁盘调入内存,也就是内存进入内存交换区的数量;
b、so列表示由内存调入磁盘,也就是内存交换区进入内存的数量;
c、一般情况下,si、so的值都为0,如果si、so的值长期不为0,则表示系统内存不足,需要考虑是否增加系统内存。
(4)IO
a、bi列表示从块设备读入的数据总量(即读磁盘,单位KB/秒);
b、bo列表示写入到块设备的数据总量(即写磁盘,单位KB/秒);
这里设置的bi+bo参考值为1000,如果超过1000,而且wa值比较大,则表示系统磁盘IO性能瓶颈。