linux 下利用 vmstat 分析虚拟机的使用情况
1 vmstat (<a href="http://www.cnblogs.com/ggjucheng/archive/2012/01/05/2312625.html"><a>)
介绍: vmstat 命令是常见的linux/unix的监测工具,可以展现给定时间间隔的服务器的cpu使用率,内存使用情况,虚拟内存交换情况。
用法:
vmstat [-a] [-n] [-S unit] [delay [ count]]
vmstat [-s] [-n] [-S unit]
vmstat [-m] [-n] [delay [ count]]
vmstat [-d] [-n] [delay [ count]]
vmstat [-p disk partition] [-n] [delay [ count]]
vmstat [-f]
vmstat [-V]
参数:
-a:显示活跃和非活跃内存

-f:显示从系统启动至今的fork数量 。
(fork的作用是复制一个与当前进程一样的进程。新进程的所有数据(变量、环境变量、程序计数器等)数值都和原进程一致,但是是一个全新的进程,并作为原进程的子进程。)
(参考:http://www.cnblogs.com/leoo2sk/archive/2009/12/11/talk-about-fork-in-linux.html)
-m:显示slabinfo,slabinfo信息记录在/proc/slabinfo文件中。slab是linux的一个内存分配机制。可以用来分析内存泄漏问题(没用过。。。。)
-s:显示内存相关统计信息及多种系统活动数量。

-delay:刷新时间间隔。如果不指定,只显示一条结果。
-d:显示磁盘相关统计信息。

-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)

采样实例:

***** 每秒的含义 是 指 delay 这么长
procs :进程, r 表示运行式,表示阻塞式
memory : 内存 ,free 空闲物理内存 buff 内容,权限缓存区,cache 文件缓存区
swap: 交换区,si 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄漏了
so 每秒写入磁盘的大小,同上
io:io流,bi是每秒接收的块数量,所有磁盘和其他设备。默认块大小是 1024字节,
bo是每秒发送的块数量,最好是bi和博接近0,负责的话就是io频繁。
System。 in 每秒cpu中断的次数,cs 每秒切换上下文次数,值越小越好,大了的话,考虑调低线程或者进程的数目。
us 用户cpu时间
sy 系统cpu时间
id 空闲cpu时间
wt 等待cpu时间
*********************************

浙公网安备 33010602011771号