在对系统的方法化分析中,首要且最基本的工具之一常常是对系统的CPU利用率进行简单测量.Linux常用的工具有uptime、vmstat、top和sar.下面对这几个工具分别介绍:
1. uptime
uptime的输出如下图所示:
[root@localhost ~]# uptime
15:07:11 up 7:14, 4 users, load average: 0.00, 0.00, 0.00
Load average :代表1Min,5min ,15min内可运行的任务平均数量.
可运行的任务包括当前正在运行的任务以及虽然可以运行但正在等待某个处理器空闲的任务.
2. vmstat
Vmstat是一个实时性能监控工具.该工具提供了有助于发现系统异常活动的数据,例如会降低系统性能的过多页面错误或上下文切换次数.Vmstat输出样本如下所示:
[root@localhost ~]# vmstat 2 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 216 19792 23560 111144 0 0 10 7 28 25 0 1 99 1 0
0 0 216 19792 23560 111152 0 0 0 0 57 35 0 0 100 0 0
0 0 216 19792 23560 111152 0 0 0 0 56 35 0 0 100 0 0
Vmstat提供以下信息:
.proc部分提供了生成报告时正在运行的进程数目(r)以及被阻塞的进程数目(b).
.memory部分提供了换出内存(swpd),空闲内存(free),I/O数据结构的缓冲区缓存(buffer),以及从磁盘读取文件的内存缓存(cache)的容量,单位为KB.
.swap 部分提供了从磁盘上换入的内存容量(si)以及换出到磁盘上的内存容量(so),单位为KB/S.
拥有帝国一切,皆有可能。欢迎访问phome.net
.IO部分提供了从设备读入的块数(bi)以及写出到设备上的块数(bo),单位为kb/s.
.ystem部分提供了每秒的中断数目(in)和上下文切换数目(cs).
.CPU部分提供了用户(us),系统(sy),真正空闲(id)以及等待I/O完成(wa)在CPU总时间中所占的百分比.CPU利用率也许是最常用的量度.若wa值过大,则应该坚持I/O子系统,例如,可以断定需要更多的I/O控制器和磁盘以减少I/O等待时间.
3. top
op命令的显示结果如下所示:
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48
Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 191272k total, 173656k used, 17616k free, 22052k buffers
Swap: 192772k total, 0k used, 192772k free, 123988k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND
1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd
14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top
1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init
2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
统计信息区
前五行是系统整体的统计信息.第一行是任务队列信息,同 uptime 命令的执行结果.其内容如下:
01:06:48 当前时间
up 1:22 系统运行时间,格式为时:分
1 user 当前登录用户数
load average: 0.06, 0.60, 0.48 系统负载,即任务队列的平均长度.
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值.
拥有帝国一切,皆有可能。欢迎访问phome.net
第二、三行为进程和CPU的信息.当有多个C |