vmstat – 系统纵览
vmstat 工具自傲一行汇总中提供当前系统行为的纵览,包括 CPU 利用率和饱和度。
在最简单的形式中,命令 vmstat <interval>(即 vmstat 5)将报告一行每 <interval> 秒的统计数据。第一行可以忽略,因为这是启动时的汇总,其他行报告示例每 <interval> 秒的统计数据。底层统计数据收集机制以 kstat(参见 kstat(1))为基础。
vmstat – vmstat 5 报告
首先查看 cpu:id 列,该列表示系统空闲时间(本例为 0%)。然后查看 kthr:r 列,该列表示调度程序列上可运行线程的总数(本例为 1)。
从这个简单的试验可以得出结论,第二个样式的 5 个系统空闲时间总是 0,表示 100% 的效用。另一方面,kthr:r 基本上维持在 1,表示这个单 CPU 系统适中的饱和度(记住我们启动了两个 CPU 集中式应用程序)。
关于 CPU 效用要注意的几个地方:
*100% 效用对于系统可能没有问题。想想高性能的计算作业:目的将是最大化 CPU 的效用。
* kthr:r 的值大于 0 表示某个 CPU 饱和(即需要运行更多作业但由于没有 CPU 可用而无法运行)。但是,性能是应该逐步降低。
*时间间隔的采样很重要。不要选择太小或太大的时间间隔。
vmstat 报告更多的有趣信息,比如:
列 注释
in 每秒钟中断次数。
sys 每秒钟系统调用次数。
cs 每秒钟上下文切换次数(包含有意和偶然)。
us 用户时间比率:CPU 处理用户模式线程花费的时间。
sy 系统时间比率:CPU 代表用户模式线程处理系统调用的时间,加上处理内核线程花费的时间。
id CPU 等待可运行线程的时间比率。
vmstat – 监控分页活动
使用 -p 选项,vm stat 命令也可以用于报告系统分页活动。使用这种形式的命令,我们可以快速了解系统是由于文件 I/O 而分页(没问题)还是由于物理内存短缺而分页(有问题)。
使用如下命令:vmstat -p <interval in seconds> .输出格式包含以下信息:
列 描述
swap 可用的交换空间,以 KB 为单位。
free 空间内存量,以 KB 为单位。
re 页面回收 - 从缓存列表中回收的页面数量(每秒)。
mf 次级错误 - 附加到地址空间的页面数量(每秒)
fr 每秒释放的页面,以 KB 为单位。
de 计算预期的短期内存不足,以 KB 为单位。
sr 扫描速度 - 页面扫描器每秒扫描的页面数。
epi 每秒可执行的页入,以 KB 为单位。
epo 每秒可执行的页出,以 KB 为单位。
epf 每秒可执行的页释放,以 KB 为单位。
api 每秒的匿名页入,以 KB 为单位。
apo 每秒的匿名页出,以 KB 为单位。
apf 每秒的匿名页释放,以 KB 为单位。
fpi 每秒的文件系统页入,以 KB 为单位。
fpo 每秒的文件系统页出,以 KB 为单位。
fpf 每秒的文件系统页释放,以 KB 为单位。
[
本帖最后由 云杉上的蝴蝶 于 2008-6-10 23:44 编辑 ]