w命令也用于显示登录到系统的用户情况,但是与who不同的是,w命令功能更加强大,它不但可以显示有谁登录到系统,还可以显示出这些用户当前正在进行的工作:
[root@hpf-linux ~]# w 17:04:13 up 1:05, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 - 15:59 1:04m 0.03s 0.03s -bash root pts/0 192.168.1.100 16:00 0.00s 0.07s 0.01s w
17:04:13 :当前时间
up 1:05: 系统启动到现在的时间
2 users: 登录用户的数目
load average: 0.00, 0.00, 0.00: 系统在最 近1分钟、5分钟和15分钟的平均负载 //此数据是衡量服务器负载的重要数据,若此数据小于CPU核心数则说明服务器运行无压力,一旦高于CPU核心数就说明服务器运行负载较大,需要查看是哪个进程占用CPU较多在进行处理。
USER: 登录帐号
TTY: 终端名称
FROM: 远程主机名
LOGIN@: 登录时间
IDLE: 空闲时间
WHAT : 当前正在运行进程的命令行
查看CPU的核心数:
[root@hpf-linux ~]# cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 16 model : 5 model name : AMD Athlon(tm) II X4 610e Processor stepping : 3 cpu MHz : 2410.880 cache size : 512 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fdiv_bug : no
以上参数中processor : 0 表示为线程,从0开始,8线程为(0-7)。
core id : 0为物理核心数。
ab命令是Apache的Web服务器的性能测试工具,它可以测试安装Web服务器每秒种处理的HTTP请求。
使用方法:./ab -c 100 -n 10000 http://127.0.0.1/index.php
-c:指定一次向服务器发出请求数; //每次并发100个
-n:指定测试会话使用的请求数; //共发送10000个请求
监控系统进程状态 �C top
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.
命令参数:
-b 批处理
-c 显示完整的治命令
-I 忽略失效过程
-s 保密模式
-S 累积模式
-i<时间> 设置间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数> 循环显示的次数
top - 17:40:12 up 1:41, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 73 total, 1 running, 72 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st
Mem: 1030496k total, 99996k used, 930500k free, 27180k buffers
Swap: 2047996k total, 0k used, 2047996k free, 33840k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 2900 1376 1168 S 0.0 0.1 0:01.93 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.01 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0
6 root RT 0 0 0 0 S 0.0 0.0 0:01.28 watchdog/0
7 root 20 0 0 0 0 S 0.0 0.0 0:00.31 events/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pm
13 root 20 0 0 0 0 S 0.0 0.0 0:00.06 sync_supers
top前五行信息:
top - 17:40:12 :当前系统时间
up 1:41: 系统已经运行时间
2 users:当前有2个用户登录系统
load average: 0.00, 0.00, 0.00:系统负载,三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
Tasks: 73 total:进程总数
1 running:正在运行的进程数
72 sleeping:睡眠的进程数
0 stopped:停止的进程数
0 zombie:僵尸进程数
Cpu(s):0.0%us:用户空间占用CPU的百分比
0.0%sy:内核空间占用CPU百分比
0.0%ni:用户进程空间内改变过优先级的进程占用CPU百分比
99.7%id:空闲CPU百分比
0.0%wa:IO等待占用CPU时间百分比
0.0%hi:硬中断(Hardware IRQ)占用CPU的百分比
0.3%si: 软中断(Software Interrupts)占用CPU的百分比
Mem: 1030496k total:物理内存总量
99996k used:使用的物理内存总量
930500k free:空闲内存总量
27180k buffers:用作内核缓存的内存量
Swap: 2047996k total:交换区总量
0k used:使用的交换区总量
2047996k free:空闲交换区总量
33840k cached:缓冲的交换区总量
进程信息:
PID:进程id
USER:进程所有者
PR :进程优先级
NI : nice值。负值表示高优先级,正值表示低优先级。(取值范围负20到正19)
VIRT : 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES :进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR : 共享内存大小,单位kb
S :进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU : 上次更新到现在的CPU时间占用百分比
%MEM : 进程使用的物理内存百分比
TIME+ : 进程使用的CPU时间总计,单位1/100秒
COMMAND : 进程名称(命令名/命令行)
使用技巧:
1.在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况
2.默认进入top时,各进程是按照CPU的占用量来排序的,若想以内存使用顺序排序用‘shift + m’
3.top -c 动态显示,最右侧的命令可以显示更详细的信息。
4.top -bn1 表示非动态打印系统资源使用情况,可以用在shell脚本中。
5.退出窗口按q键
实时监控系统状态:
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。通常使用vmstat 5 5(表示在5秒时间内进行5次采样)命令测试。将得到一个数据汇总他能够反映真正的系统情况。
vmstat 监控一次
vmstat 1 实时监控,1秒刷新一次,按ctrl+c退出;
vmstat 5 5 在5秒时间内进行5次采样;
[root@hpf-linux ~]# vmstat 5 5
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 0 930552 27308 33884 0 0 8 1 10 11 0 0 100 0 0
0 0 0 930544 27308 33884 0 0 0 0 7 7 0 0 100 0 0
0 0 0 930544 27308 33884 0 0 0 0 7 8 0 0 100 0 0
0 0 0 930544 27308 33884 0 0 0 0 8 7 0 0 100 0 0
0 0 0 930544 27308 33884 0 0 0 0 10 8 0 0 100 0 0
各段的含义:
procs(进程) r:等待执行的任务数(展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了)
b:等待IO的进程数量
Memory(内存) swpd: 使用虚拟内存大小,如果swpd的值不为0,但是SI,SO的值长期为0,这种情况不会影响系统性能。
free:空闲的物理内存的大小
buff: 用作缓冲的内存大小。
cache: 用作缓存的内存大小
Swap si: 每秒从交换区写到内存的大小,由磁盘调入内存。
so: 每秒写入交换区的内存大小,由内存调入磁盘。
注意:内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和CPU资源都会被消耗。有些朋友看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,不能光看这一点,还要结合si和so,如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。
IO bi: 每秒读取的块数
bo: 每秒写入的块数
注意:随机磁盘读写的时候,这2个值越大(如超出1024k),能看到CPU在IO等待的值也会越大。
system in: 每秒中断数,包括时钟中断。
cs: 每秒上下文切换数。
注意:上面2个值越大,会看到由内核消耗的CPU时间会越大。
CPU us: 用户进程执行时间百分比(user time)
us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速。
sy: 内核系统进程执行时间百分比(system time)
sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因。
wa: IO等待时间百分比
wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。
id: 空闲时间百分比
静态的查看系统进程:
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。
ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。
详细的参数就不介绍了,这里我们讲解下经常用的ps命令:
ps aux : 列出目前所有的正在内存当中的程序 或者 ps -elf
[root@hpf-linux ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 2900 1376 ? Ss 15:59 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 15:59 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 15:59 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S 15:59 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S 15:59 0:00 [stopper/0]
root 6 0.0 0.0 0 0 ? S 15:59 0:01 [watchdog/0]
root 7 0.0 0.0 0 0 ? S 15:59 0:00 [events/0]
.........
USER:该 process 属于那个使用者账号的
PID :该 process 的号码
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态,主要的状态有
R :该程序目前正在运作,或者是可被运作
S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T :该程序目前正在侦测或者是停止了
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
< 高优先级进程
N 低优先级进程
L 在内存中被锁了内存分页
s 主进程
l 多线程进程
+ 在前台的进程
START:该 process 被触发启动的时间
TIME :该 process 实际使用 CPU 运作的时间
COMMAND:该程序的实际指令
查看系统的内存使用状况:
free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
常使用的命令参数:
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-g 以GB为单位显示内存使用情况。 //注意系统对小数点后面的数全部以舍去的方式输出
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
-V 显示版本信息。
[root@hpf-linux ~]# free -g
total used free shared buffers cached
Mem: 0 0 0 0 0 0
-/+ buffers/cache: 0 0
Swap: 1 0 1
[root@hpf-linux ~]# free -m
total used free shared buffers cached
Mem: 1006 97 908 0 26 33
-/+ buffers/cache: 37 968
Swap: 1999 0 1999
上面的说明:
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行是交换分区SWAP的,也就是我们通常所说的虚拟内存。
区别:第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。 这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是908M,已用内存是97M,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.
第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。
如本机情况的可用内存为:
967M=908M+26M+33M
buffers和cached两者有什么区别呢?
为了提高磁盘存取效率, Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。
磁盘的操作有逻辑级(文件系统)和物理级(磁盘块),这两种Cache就是分别缓存逻辑和物理级数据的。
Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的数据会缓存到page cache。文件的逻辑层需要映射到实际的物理磁盘,这种映射关系由文件系统来完成。当page cache的数据需要刷新时,page cache中的数据交给buffer cache,因为Buffer Cache就是缓存磁盘块的。但是这种处理在2.6版本的内核之后就变的很简单了,没有真正意义上的cache操作。
Buffer cache是针对磁盘块的缓存,也就是在没有文件系统的情况下,直接对磁盘进行操作的数据会缓存到buffer cache中,例如,文件系统的元数据都会缓存到buffer cache中。
简单说来,page cache用来缓存文件数据,buffer cache用来缓存磁盘数据。在有文件系统的情况下,对文件操作,那么数据会缓存到page cache,如果直接采用dd等工具对磁盘进行读写,那么数据会缓存到buffer cache。
所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准.
如果是应用服务器的话,一般只看第二行,+buffers/cache,即对应用程序来说free的内存太少了,也是该考虑优化程序或加内存了。
查看网络状态:
netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用netstat查一查为什么会出现这些情况了。
命令参数:
-a或�Call 显示所有连线中的Socket。
-A<网络类型>或�C<网络类型> 列出该网络类型连线中的相关地址。
-c或�Ccontinuous 持续列出网络状态。
-C或�Ccache 显示路由器配置的快取信息。
-e或�Cextend 显示网络其他相关信息。
-F或�Cfib 显示FIB。
-g或�Cgroups 显示多重广播功能群组组员名单。
-h或�Chelp 在线帮助。
-i或�Cinterfaces 显示网络界面信息表单。
-l或�Clistening 显示监控中的服务器的Socket。
-M或�Cmasquerade 显示伪装的网络连线。
-n或�Cnumeric 直接使用IP地址,而不通过域名服务器。
-N或�Cnetlink或�Csymbolic 显示网络硬件外围设备的符号连接名称。
-o或�Ctimers 显示计时器。
-p或�Cprograms 显示正在使用Socket的程序识别码和程序名称。
-r或�Croute 显示Routing Table。
-s或�Cstatistice 显示网络工作信息统计表。
-t或�Ctcp 显示TCP传输协议的连线状况。
-u或�Cudp 显示UDP传输协议的连线状况。
-v或�Cverbose 显示指令执行过程。
-V或�Cversion 显示版本信息。
-w或�Craw 显示RAW传输协议的连线状况。
-x或�Cunix 此参数的效果和指定”-A unix”参数相同。
�Cip或�Cinet 此参数的效果和指定”-A inet”参数相同。
常用的命令参数有:
netstat -lnp 查看当前系统开启的端口以及socket
netstat -an 查看当前系统所有的连接
[root@hpf-linux ~]# netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1035/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 997/cupsd
tcp 0 0 :::22 :::* LISTEN 1035/sshd
tcp 0 0 ::1:631 :::* LISTEN 997/cupsd
udp 0 0 0.0.0.0:631 0.0.0.0:* 997/cupsd
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 8375 985/dbus-daemon /var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 8420 997/cupsd /var/run/cups/cups.sock
unix 2 [ ACC ] STREAM LISTENING 6821 1/init @/com/ubuntu/upstart
[root@hpf-linux ~]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 52 192.168.1.132:22 192.168.1.100:51855 ESTABLISHED
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:631 :::* LISTEN
udp 0 0 0.0.0.0:631 0.0.0.0:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 8375 /var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 8420 /var/run/cups/cups.sock
unix 2 [ ACC ] STREAM LISTENING 6821 @/com/ubuntu/upstart
unix 4 [ ] DGRAM 8300 /dev/log
unix 2 [ ] DGRAM 7190 @/org/kernel/udev/udevd
unix 2 [ ] DGRAM 8958
unix 3 [ ] STREAM CONNECTED 8822 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 8821
unix 3 [ ] STREAM CONNECTED 8798 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 8797
unix 3 [ ] STREAM CONNECTED 8785 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 8784
unix 2 [ ] DGRAM 8563
unix 3 [ ] STREAM CONNECTED 8387 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 8386
unix 3 [ ] STREAM CONNECTED 8380
unix 3 [ ] STREAM CONNECTED 8379
unix 3 [ ] DGRAM 7213
unix 3 [ ] DGRAM 7212
实例:
列出所有端口 (包括监听和未监听的)
netstat -a #列出所有端口
netstat -at #列出所有tcp端口
netstat -au #列出所有udp端口
列出所有处于监听状态的 Sockets
netstat -l #只显示监听端口
netstat -lt #只列出所有监听 tcp 端口
netstat -lu #只列出所有监听 udp 端口
netstat -lx #只列出所有监听 UNIX 端口
显示每个协议的统计信息
netstat -s 显示所有端口的统计信息
netstat -st 显示TCP端口的统计信息
netstat -su 显示UDP端口的统计信息
在netstat输出中显示 PID 和进程名称
netstat -pt
持续输出netstat信息
netstat -c #每隔一秒输出网络信息
显示系统不支持的地址族(Address Families)
netstat --verbose
显示核心路由信息
netstat -r
找出程序运行的端口
并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。
netstat -ap |
找出运行在指定端口的进程:
netstat -an | grep ':80'
显示网络接口列表
netstat -i
监控网卡流量,历史负载
sar命令是Linux下系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。
安装sar的命令:yum install -y sysstat
sar 既能报告当前数据,也能报告历史数据
不带选项执行会以10分钟为间隔报告自午夜起当天的CPU利用率。
脚本sal收集了这些历史数据,它是sar软件包的一部分,必须设置为定期从cron里运行
sar把自已收集的数据以二进制格式保存在/var/log/sa里
使用 sar -d 可以得到当天磁盘活动的情况汇总
sar -n DEV 则能给出网络接口的统计信息
sar -A 可以报告所有的信息
sar -n DEV 查看网卡流量
sar -n DEV 1 实时监控网卡的流量,1秒刷新一次,按ctrl+c退出;
sar -n DEV 1 10 查看网卡的流量,1秒刷新一次,查看10次;
sar -n DEV -f /var/log/sa/sa16 查看系统日志里面保存的网卡流量信息,按照每天的日期命名;
查看历史负载 sar -q
查看磁盘读写 sar -b
sar 适用于快速粗略了解历史信息。
sar 命令行的常用格式: sar [options] [-o file] t [n]
options 为命令行选项,sar命令的选项很多,下面只列出常用选项:
-A:所有报告的总和。
-u:CPU利用率
-v:进程、I节点、文件和锁表状态。
-d:硬盘使用报告。
-r:没有使用的内存页面和硬盘块。
-g:串口I/O的情况。
-b:缓冲区使用情况。
-a:文件读写情况。
-c:系统调用情况。
-R:进程的活动情况。
-y:终端设备活动情况。
-w:系统交换活动。
使用:
sar 2 5 //每隔2秒,显示5次,CPU使用的情况
[root@hpf-linux ~]# sar 2 5
Linux 2.6.32-504.12.2.el6.i686 (hpf-linux) 2015年04月17日 _i686_ (1 CPU)
19时49分47秒 CPU %user %nice %system %iowait %steal %idle
19时49分49秒 all 0.00 0.00 0.00 0.00 0.00 100.00
19时49分51秒 all 0.00 0.00 0.50 0.00 0.00 99.50
19时49分53秒 all 0.00 0.00 1.00 0.00 0.00 99.00
19时49分55秒 all 0.00 0.00 0.50 0.00 0.00 99.50
19时49分57秒 all 0.00 0.00 1.00 0.00 0.00 99.00
平均时间: all 0.00 0.00 0.60 0.00 0.00 99.40
%usr:CPU处在用户模式下的时间百分比。
%sys:CPU处在系统模式下的时间百分比。
%wio:CPU等待输入输出完成时间的百分比。
%idle:CPU空闲时间百分比。
在所有的显示中,我们应主要注意%wio和%idle,%wio的值过高,表示硬盘存在I/O瓶颈,
%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,
此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表
明系统中最需要解决的资源是CPU。
参考:
http://www.cnblogs.com/peida/archive/2012/12/19/2824418.html
http://blog.chinaunix.net/uid-25266990-id-2950467.html
http://man.linuxde.net/