接触 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 | 缓冲的交换区总量。 内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖, 该数值即为这些内容已存在于内存中的交换区的大小。 相应的内存再次被换出时可不必再对交换区写入。 |