top输出的第一行显示负载平均值信息:
这个输出与uptime的输出类似。从中可看到Linux已经运行时间、当前时间和用户数量,以及1分钟、5分钟和15分钟负载平均值。接下来显示进程概要:
我们看到总共有73个进程,其中72个进程正在休眠,一个进程正在运行,没有僵化进程或者被停止的进程。当一个进程退出并且它的父进程没有通过wait(2)或者waitpid(2)函数等待它时,它就会成为僵化进程。这通常是由于父进程在它的子进程之前退出造成的。不同于进程表中的项,僵化进程不使用资源。停止的进程是已经向它发送STOP信号的进程。更多信息,请参见signal(7)手册页。
接下来是CPU信息:
CPU行描述CPU如何使用它们的CPU周期。top命令报告CPU在用户或者内核模式、运行良好进程以及处在空闲状态时所花费时间的百分比。iowait列显示没有进程在CPU上运行时,处理器等待I/O完成的时间的百分比。irq和softiq列表示处理硬件和软件中断所花费的时间。早于2.6版本的Linux内核不报告irq、softirq和iowait。
接下来是内存信息:
前三个指标提供内存使用的概要,列出了总的可用内存、已使用内存和自由内存,它们都是确定对于Linux内存是否足够所需信息。
接下来五个指标标识已使用的内存如何分配。
shrd字段显示共享的内存使用,buff是缓冲使用的内存。分配给内核或者用户进程的内存可以处在三种不同状态:活动(active)、不活动脏(inactive dirty)和不活动干净(inactive clean)。活动在top中用aotv表示,表示该内存最近被使用。不活动脏在top中用in_d表示,表示该内存最近没有使用,可以回收。要回收内存,必须将它的内容写到磁盘,这个进程命名为“清洗”,也可称作内存的第四种临时状态。一旦被清洗,不活动脏内存成为不活动干净内存,在top中用in_c表示。由Norm Murray和Neil Horman合著的Understanding Virtual Memory in Red Hat Enterprise Linux 3是一本优秀的参考书,网址为http:people.redhat.com/nhorman/papers/ rhel3_vm.pdf。
接下来是交换区信息:
av字段是可用的交换区总量,之后是已用数量和自由数量,最后是内核用于缓存的内存数量。
top显示的其余部分是进程信息:
top显示尽可能多的能适合屏幕的进程。
top(1)手册页中提供了字段说明的描述。表3-1提供了这些字段的概要。