vmstat
# vmstat
vmstat 2 3
每2s采集一次数据,共采集3次(单位为kb)
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 142044 79772 8560 42540 1 6 22 9 106 193 1 1 98 1 0
说明:
r:可运行队列。单核cpu,不应该超过3(经验得到的数据,只是表明大于这个值表明运行队列有点长)
b:当前被阻塞的进程,一般这些进程都是在等待某些外部资源而被阻塞。>3需要注意,而且一直出现或者经常出现,就更值得注意
swpd:虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。
free:空闲的物理内存的大小
buff:缓存
cache:cache直接用来记忆打开的文件,给文件做缓冲,当程序使用内存时,buffer/cached会很快地被使用。)
si:有多少数据从swap到物理内存;
so:有多少数据从物理内存到swap;
bi:有多少数据从块设备读取到内存中(读磁盘);
bo:有多少数据从内存中写到块设备中(写磁盘);
in:中断数。一般代表大量设备操作成功通知内核。
cs:上下文切换。一般代表任务需要紧急被cpu处理。数字高,只能说明内核在充分发挥它的任务调度作用。不能简单通过该数字判断cpu就出现瓶颈。
us:用户进程所占用的cpu时间的百分比
sy:内核在进行任务调度所占用的cpu时间的百分比
id:cpu空闲所占用的时间百分比.仅仅0不能简单判断cpu出现瓶颈,只能说它被充分被留用。
wa:等待IO所消耗时间百分比
st:被硬件虚拟化的虚拟机所消耗掉的时间百分比
-----------------------------------------------------------------
vmstst [选项] [参数]
选项:
-a:显示活动内页;
-f:显示启动后创建的进程总数;
-m:显示slab信息;
-n:头信息仅显示一次;
-s:以表格方式显示事件计数器和内存状态;
-d:报告磁盘状态;
-p:显示指定的硬盘分区状态;
-S:指定输出信息的单位,如:M,K(默认为K/1024bytes);
参数:
时间间隔:状态信息刷新的时间间隔;
次数:显示报告的次数;