接触 linux 的人对于 top 命令可能不会陌生(不同系统名字可能不一样,如 IBM 的 aix 中叫 topas ),它的作用主要用来监控系统实时负载率、进程的资源占用率及其它各项系统状态属性是否正常,如下,便是一个比较繁忙的oracle生产系统的TOP截取
top - 23:10:16 up 51 days, 16 min, 1 user, load average: 7.98, 9.34, 11.26
Tasks: 1020 total, 35 running, 984 sleeping, 0 stopped, 1 zombie
Cpu(s): 92.3%us, 0.7%sy, 0.0%ni, 6.9%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 132139384k total, 131282624k used, 856760k free, 514032k buffers
Swap: 20479992k total, 0k used, 20479992k free, 75053592k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
61041 oracle 20 0 48.2g 21m 18m R 76.6 0.0 0:11.50 oracle
61105 oracle 20 0 48.2g 19m 17m S 75.6 0.0 0:11.26 oracle
61049 oracle 20 0 48.2g 21m 18m S 75.3 0.0 0:11.44 oracle
61045 oracle 20 0 48.2g 21m 18m R 74.6 0.0 0:11.49 oracle
61103 oracle 20 0 48.2g 21m 18m R 74.6 0.0 0:11.28 oracle
61109 oracle 20 0 48.2g 19m 17m R 74.3 0.0 0:11.13 oracle
61067 oracle 20 0 48.2g 21m 18m R 73.7 0.0 0:11.38 oracle
58694 oracle 20 0 48.2g 21m 18m R 73.4 0.0 2:01.71 oracle
61059 oracle 20 0 48.2g 21m 18m R 73.0 0.0 0:11.55 oracle
61133 oracle 20 0 48.2g 19m 17m R 73.0 0.0 0:10.65 oracle
61065 oracle 20 0 48.2g 21m 18m S 72.4 0.0 0:11.67 oracle
61083 oracle 20 0 48.2g 21m 18m R 72.4 0.0 0:11.00 oracle
61121 oracle 20 0 48.2g 21m 18m S 72.4 0.0 0:11.17 oracle
61095 oracle 20 0 48.2g 21m 18m S 72.1 0.0 0:11.25 oracle
61057 oracle 20 0 48.2g 21m 18m R 71.7 0.0 0:11.55 oracle
61101 oracle 20 0 48.2g 20m 18m R 71.7 0.0 0:11.26 oracle
61063 oracle 20 0 48.2g 21m 18m R 71.4 0.0 0:11.13 oracle
61073 oracle 20 0 48.2g 21m 18m R 71.4 0.0 0:11.67 oracle
61131 oracle 20 0 48.2g 21m 18m R 71.1 0.0 0:11.18 oracle
61141 oracle 20 0 48.2g 19m 17m R 70.8 0.0 0:10.89 oracle
58840 oracle 20 0 48.2g 22m 18m R 70.5 0.0 0:05.06 oracle
61061 oracle 20 0 48.2g 21m 18m R 70.5 0.0 0:11.49 oracle
61069 oracle 20 0 48.2g 20m 17m R 70.1 0.0 0:11.48 oracle
61081 oracle 20 0 48.2g 21m 18m R 69.5 0.0 0:11.32 oracle
61119 oracle 20 0 48.2g 21m 18m R 69.2 0.0 0:11.14 oracle
61055 oracle 20 0 48.2g 21m 18m R 68.9 0.0 0:11.19 oracle
61051 oracle 20 0 48.2g 21m 18m S 68.2 0.0 0:11.37 oracle
61053 oracle 20 0 48.2g 21m 18m R 68.2 0.0 0:11.49 oracle
61099 oracle 20 0 48.2g 19m 17m R 68.2 0.0 0:10.98 oracle
61079 oracle 20 0 48.2g 21m 18m R 67.9 0.0 0:11.37 oracle
61113 oracle 20 0 48.2g 19m 17m S 67.9 0.0 0:10.83 oracle
61089 oracle 20 0 48.2g 19m 17m R 67.6 0.0 0:11.22 oracle
61097 oracle 20 0 48.2g 19m 17m R 67.6 0.0 0:11.41 oracle
61115 oracle 20 0 48.2g 21m 18m R 67.2 0.0 0:11.19 oracle
61085 oracle 20 0 48.2g 19m 17m R 66.9 0.0 0:11.12 oracle
61125 oracle 20 0 48.2g 21m 18m R 66.9 0.0 0:10.87 oracle
58678 oracle 20 0 48.2g 21m 18m S 65.3 0.0 1:58.10 oracle
61043 oracle 20 0 48.2g 21m 18m R 61.5 0.0 0:11.27 oracle
58680 oracle 20 0 48.2g 21m 18m R 57.3 0.0 1:53.57 oracle
61047 oracle 20 0 48.2g 21m 18m R 56.3 0.0 0:11.15 oracle
58668 oracle 20 0 48.2g 21m 18m R 53.7 0.0 2:01.78 oracle
58842 oracle 20 0 48.2g 22m 18m S 30.9 0.0 0:01.04 oracle
top - 23:10:16
当前时间
up 51 days, 16 min
总的运行时间
1 user
当前登录用户数
load average: 7.98, 9.34, 11.26
系统的负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
注意:这三个值可以用来判定系统是否负载过高——如果值持续大于系统 cpu 个数,就需要优化你的程序或者架构了。
Tasks: 29 total
进程总数
1 running
正在运行的进程数
28 sleeping
睡眠的进程数
0 stopped
停止的进程数
0 zombie
僵尸进程数
Cpu(s): 0.3% us
用户空间占用CPU百分比
1.0% sy
内核空间占用CPU百分比
0.0% ni
用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id
空闲CPU百分比
0.0% wa
等待输入输出的CPU时间百分比
0.0% hi
Hardware IRQ
0.0% si
Software IRQ
Mem: 191272k total
物理内存总量
173656k used
使用的物理内存总量
17616k free
空闲内存总量
22052k buffers
用作内核缓存的内存量
Swap: 192772k total
交换区总量
0k used
使用的交换区总量
192772k free
空闲交换区总量
123988k cached
缓冲的交换区总量。 内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖, 该数值即为这些内容已存在于内存中的交换区的大小。 相应的内存再次被换出时可不必再对交换区写入。