vmstat
vmstat 命令报告关于内核线 程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和
常用vmstat T C,其中T为时间间隔,C为采集次数。
[root@USC_28_18 src]# vmstat 5 5
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
0 0 0 1732 21552 126084 690300 0 0 0 0 3 0 0 0 0
0 0 0 1732 21552 126084 690304 0 0 0 19 1009 197 0 0 100
0 0 0 1732 21548 126084 690304 0 0 0 18 1009 159 0 0 100
0 0 0 1732 21540 126084 690316 0 0 0 72 1018 224 0 0 100
0 0 0 1732 21536 126084 690316 0 0 0 30 1013 162 0 0 100
每5s采集一次,一次显示5次。
注:在取样模式中需要考虑在数据收集中可能出现的误差,将取样频率设为比较低的值可以尽可能 的减小误差的影响。
·process(procs)
r:等待运行时间的进程数量
b:处在不可中断睡眠状态的进程
w:被交换出去但是仍然可以运行的进程,这个值是计算出来的
·memoryswpd:虚拟内存的数量
free:空闲内存的数量
buff:用做缓冲区的内存数量
·swap
si:从硬盘交换来的数量
so:交换到硬盘去的数量
.io
bi:向一个块设备输出的块数量
bo:从一个块设备接受的块数量
·system
in:每秒发生的中断数量, 包括时钟
cs:每秒发生的contextswitches的数量
·cpu(整个cpu运行时间的百分比)
us:非内核代码运行的时间(用户时间,包括nice时间)
sy:内核代码运行的时间(系统时间)
id:空闲时间,在Linux2.5.41之前的内核版本中,这个值包括I/O等待时间;
其中:
r经常大于 3-4 ,且id经常少于50,表cpu的负荷很重。
pi,po 长期不等于0,表示内存不足。
disk 经常不等于0, 且在 b中的队列大于2-3, 表示 io性能不好。
Procs r: 运行的进程比较多,系统很繁忙
Io bo: 磁盘写的数据量稍大
Cpu us: 持续大于50-60,服务高峰期可以接受
Cpu wa: 稍微有些高
Cpu id:持续小于50,服务高峰期可以接受
Vmstat命令提供了大量的附加参数,下面列举几个十分有用的参数:
引用
·m:显示内核的内存利用率
·a:显示内存页面信息,包括活跃和不活跃的内存页面
·n:显示报头行,这个参数在使用取样模式并将命令结果输出到一个文件时非常有用。
例如vmstat –n 2 10以2秒的频率显示10输出结果
·当使用-p {分区}时,vmstat提供对I/O结果的统计
1、要显示引导后的统计信息摘要,请输入:
vmstat
1 要显示 2 秒时间间隔的 5 个摘要,请输入:
vmstat2 5
第一次摘要包含引导后的时间统计信息。
2 要显示引导后包括逻辑磁盘 scdisk13 和 scdisk14 的统计信息摘要,请输入:
vmstatscdisk13 scdisk14
3 要显示派生统计信息,请输入:
vmstat -f
4 要显示各事件的计数,请输入:
vmstat-s
5 要显示 vmstat的每一输出栏旁边的时间戳记,请输入:
vmstat-t
6 要以另一套输出栏显示新的 I/O 定向视图,请输入:
vmstat-I
7 要显示所有可用的 VMM 统计信息,请输入:
vmstat-vs