虚拟内存的实时监控工具(vmstat)

vmstat命令用来获得UNIX系统有关进程、虚存、页面交换空间及CPU活动的信息。这些信息反映了系统的负载情况。vmstat首次运行时显示自系统启动开始的各项统计信息,之后运行vmstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。

   [root@xieqichao ~]# vmstat 1 3   
   这是vmstat最为常用的方式,其含义为每隔1秒输出一条,一共输出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        0 531760  67284 231212  108  0     0  260   111  148  1   5 86   8  0
    0  0        0 531752  67284 231212    0    0     0     0     33   57   0   1 99   0  0
    0  0        0 531752  67284 231212    0    0     0     0     40   73   0   0 100 0  0

   [root@xieqichao ~]# vmstat 1       #其含义为每隔1秒输出一条,直到按CTRL+C后退出。

下面将给出输出表格中每一列的含义说明:

有关进程的信息有:(procs)
r:  在就绪状态等待的进程数。
b: 在等待状态等待的进程数。   
有关内存的信息有:(memory)
swpd:  正在使用的swap大小,单位为KB。
free:    空闲的内存空间。
buff:    已使用的buff大小,对块设备的读写进行缓冲。
cache: 已使用的cache大小,文件系统的cache。
有关页面交换空间的信息有:(swap)
si:  交换内存使用,由磁盘调入内存。
so: 交换内存使用,由内存调入磁盘。 
有关IO块设备的信息有:(io)
bi:  从块设备读入的数据总量(读磁盘) (KB/s)
bo: 写入到块设备的数据总理(写磁盘) (KB/s)  
有关故障的信息有:(system)
in: 在指定时间内的每秒中断次数。
sy: 在指定时间内每秒系统调用次数。
cs: 在指定时间内每秒上下文切换的次数。  
有关CPU的信息有:(cpu)
us:  在指定时间间隔内CPU在用户态的利用率。
sy:  在指定时间间隔内CPU在核心态的利用率。
id:  在指定时间间隔内CPU空闲时间比。
wa: 在指定时间间隔内CPU因为等待I/O而空闲的时间比。  
vmstat 可以用来确定一个系统的工作是受限于CPU还是受限于内存:如果CPU的sy和us值相加的百分比接近100%,或者运行队列(r)中等待的进程数总是不等于0,且经常大于4,同时id也经常小于40,则该系统受限于CPU;如果bi、bo的值总是不等于0,则该系统受限于内存。
发布了350 篇原创文章 · 获赞 52 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/xie_qi_chao/article/details/105038864