Linux基础之vmstat详细教程




1.vmstat 常用指令

 

vmstat 统计虚拟内存信息,可以对操作系统的proc、memory、CPU、IO等信息进行统计以呈现给用户。一般vmstat工具的使用是通过两个数字参数来完成的,[ delay [ count ] ]其中delay是间隔,count显示多少次信息。如:vmstat 1 3 是每1秒显示一次,共显示3次。

2.vmstat其他指令详解

vmstat [-f][-s][-m]
vmstat [-S unit]
vmstat [-d]
vmstat [-V]


[ -f ]
显示自开机以来forks的总数,包括fork、vfork和clone system calls,总数和tasks创建的数量是一致的。
[ -s ]
显示各种事件计数器表和内存统计信息,这显示不重复。
[ -d ]
显示磁盘数据(disk statistics)
[-V]
显示版本信息。


3.vmstat指令展示的结果详解

\
1.procs(process)进程:
r(running)在运行队列中等待的进程个数,b(block)在等待io的进程个数。


2.memory(内存):
swpd:现时可用的交换内存(单位KB);
free:空闲的内存(单位KB);
buff: 缓冲去中的内存数(单位:KB);
cache:被用来做为高速缓存的内存数(单位:KB)。


3.swap(磁盘与内存交互次数):
si 内存从磁盘读取的数据量 ,si如果想成inputsteam这样好记多了;
so 内存向磁盘写的数据量 ,so如果想成outputsteam这样好记多了。


4. io块设备:
bi: 发送到块设备的块数,单位:块/秒;
bo: 从块设备接收到的块数,单位:块/秒。


5.system系统:
in: 每秒的中断数,包括时钟中断;
cs: 每秒的环境(上下文)切换次数。


6:cpu:
us:用户进程使用的时间 ,以百分比表示(us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。);
sy:系统进程使用的时间,以百分比表示(这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。);
id:中央处理器的空闲时间,以百分比表示;
wa:等待IO CPU时间,其中这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的。

相关内容