介绍:
top命令可以显示当前系统正在执行的程序的相关信息,包括进程ID、内存占用率、CPU占用率等。
语法:top[-c] [-d delay] [-i] [-q] [-s] [-S]
选项介绍:
-c: 显示进程完整的路径与名称;
-d: 指定更新的间隔,以秒计算;
-i: 使top不显示任何闲置或者僵死进程;
-q: 没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行;
-s: 安全模式,这将去除交互命令所带来的潜在危险;
-S: 指定累积模式,会将己完成或消失的子行程的CPU时间累积起来;
执行范例:$ top
top - 22:48:14 up 67 days, 2:57, 8 users, load average: 1.23, 1.09, 1.03
Tasks: 128 total, 2 running, 126 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.3% us, 22.6% sy, 0.0% ni, 75.0% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 2055932k total, 2040520k used, 15412k free, 15540k buffers
Swap: 2096440k total, 49020k used, 2047420k free, 1911156k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 25 0 4756 432 400 R 100 0.0 26491:49 init
2 root RT 0 0 0 0 S 0 0.0 0:00.43 migration/0
3 root 34 19 0 0 0 S 0 0.0 0:21.42 ksoftirqd/0
4 root RT 0 0 0 0 S 0 0.0 0:00.39 migration/1
5 root 34 19 0 0 0 S 0 0.0 0:07.18 ksoftirqd/1
6 root RT 0 0 0 0 S 0 0.0 0:00.39 migration/2
7 root 34 19 0 0 0 S 0 0.0 0:37.08 ksoftirqd/2
8 root RT 0 0 0 0 S 0 0.0 0:00.38 migration/3
9 root 34 19 0 0 0 S 0 0.0 0:30.93 ksoftirqd/3
输出的内容可分为两个部分:前5行 与 其余部分;
第一行表示的项目依次为
当前时间(22:48:14)、
系统启动时间(67 days)、
当前系统登录用户数目(8 users)、
平均负载(load average: 1.23, 1.09, 1.03)。
第二行显示的是
所有启动的进程(128 total)、
目前运行的(2 running)、
挂起(126 sleeping)的、
停止的(0 stopped)、
无用的进程(0 zombie)。
第三行显示的是目前CPU的使用情况,包括
用户占用CPU百分比(2.3% us)、
系统占用CPU百分比(22.6% sy)、
用户进程空间内改变过优先级的进程占用CPU百分比(0.0% ni)、
空闲CPU百分比(75.0% id)、
等待输入输出的CPU时间百分比(0.0% wa)。
第四行显示物理内存的使用情况,包括
总的可以使用的内存(2055932k total)、
已用内存(2040520k used)、
空闲内存(15412k free)、
缓冲区占用的内存(15540k buffers)。
第五行显示交换分区使用情况,包括
总的交换分区(2096440k total)、
使用的(49020k used)、
空闲的(2047420k free)、
用于高速缓存的大小(1911156k cached)。
其余部分
其中每列的信息为:
PID: 进程标示号。
USER: 进程所有者的用户名。
PR: 进程的优先级别。
NI: 进程的优先级别数值。
VIRT: 进程占用的虚拟内存值。
RES: 进程占用的物理内存值。
SHR: 进程使用的共享内存值。
S: 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
%CPU: 该进程占用的CPU使用率。
%MEM: 该进程占用的物理内存和总内存的百分比。
TIME+: 该进程启动后占用的总的CPU时间。
Command: 进程启动的命令名称。
扩展阅读:
top命令的交互选项
在运行top命令时,用户可以输入交互选项来控制top的运行。下面介绍些常用的交互选项:
c 切换显示命令名称和完整命令行;
M 根据驻留内存大小进行排序;
P 根据CPU使用百分比大小进行排序;
T 根据时间/累计时间进行排序;
t 切换显示进程和CPU状态信息;
q 退出程序;
i 忽略闲置和僵死进程;
h或者? 显示帮助画面,给出一些简短的命令总结说明;