第一行:概况
- HH:mm:ss:当前的系统时间。
- up xxx days, HH:mm:从本次开机到现在经过的时间。
- x user:当前有几个用户登录到该机器。
- load average:系统1分钟、5分钟、15分钟内的平均负载值。
- 平均负载的详细含义和算法内容很丰富,请暂时参考这里。
第二行:进程计数(Tasks)
- total:进程总数。
- running:正在运行的进程数,对应状态TASK_RUNNING。
- sleeping:睡眠的进程数,对应状态TASK_INTERRUPTIBLE和TASK_UNINTERRUPTIBLE。
- stopped:停止的进程数,对应状态TASK_STOPPED。
- zombie:僵尸进程数,对应状态TASK_ZOMBIE。
第三行:CPU使用率(%Cpu(s))
- us:进程在用户空间(user)消耗的CPU时间占比,不包含调整过优先级的进程。
- sy:进程在内核空间(system)消耗的CPU时间占比。
- ni:调整过用户态优先级的(niced)进程的CPU时间占比。
- id:空闲的(idle)CPU时间占比。
- wa:等待(wait)I/O完成的CPU时间占比。
- hi:处理硬中断(hardware interrupt)的CPU时间占比。
- si:处理软中断(software interrupt)的CPU时间占比。
- st:当Linux系统是在虚拟机中运行时,等待CPU资源的时间(steal time)占比。
第四、五行:物理内存和交换空间(Mem/Swap)
以物理内存为例。free命令也会打印出类似的信息。
- total:内存总量。
- free:空闲内存量。
- used:使用中的内存量。
- buff/cache:缓存和page cache占用的内存量。 以下所有行:进程详细信息 这里显示的数据列是可以改的,默认会显示如图中的12列。其含义分别如下:
- PID:进程ID。
- USER:进程所有者的用户名。
- PR:从系统内核角度看的进程调度优先级。
- NI:进程的nice值,即从用户空间角度看的进程优先级。值越低,优先级越高。
- VIRT:进程申请使用的虚拟内存量。
- RES:进程使用的驻留内存(即未被swap out的内存)量。
- SHR:进程使用的共享内存量。
- S:进程状态。R=running,S=interruptible sleeping,D=uninterruptible sleeping,T=stopped,Z=zombie。
- %CPU:进程在一个更新周期内占用的CPU时间比例。
- %MEM:进程占用的物理内存比例。
- TIME+:进程创建后至今占用的CPU时间长度。
- COMMAND:运行进程使用的命令。
参数详解
- -b:打印所有程序
- -c:以命令行的形式显示程序名
- -d:设置刷新间隔时间
- -h:显示帮助
- -H:线程切换
- -i:不显示空闲进程
- -n:设置刷新帧数,刷新n帧后退出
- -p:指定进程号PID,可以指定多个,最多20个,-pN1 -pN2 …或-pN1,N2 [,…]
- -s:安全模式,不能使用交互命令
- -u:监控用户,匹配有效ID或用户名,如监控root用户,top -uroot;
- -U:监控用户,匹配真实、有效、保存、文件所属ID或用户名
- -v:打印版本号
交互命令
- CTRL+L:刷新整个屏幕,重新开始显示。
- h:显示帮助。
- Z:设置颜色,进入设置颜色窗口后,a和w用来切换颜色设置,Enter提出
- q:退出top程序。
- E、e:分别切换摘要和任务列表中内存的的单位(KiB、MiB、GiB、TiB、PiB、EiB);
- l:显示或隐藏摘要中的平均负载;
- t:显示或隐藏摘要中的cpu统计数据
- m:显示或隐藏摘要中的内存统计数据
- F、f:窗口字段管理,上下键移动、方向键中右键选中后可以移动该字段(左键撤销)、空格或d选择是否显示
- X:设置任务列表之间的宽度
- L:搜索字段;
- &:搜索下一个字段;
- <、>:显示上一页、下一页
- R:升序或降序显示任务列表;
- H:进程和线程切换;
- V:树形显示,(显示内容没看懂)
- J:字段左对齐或右对齐切换;
- c:程序名和命令行格式切换;
- i:空闲程序显示或隐藏的切换;
- x:高亮显示排序字段;
- y:高亮显示正在运行的任务;
- Toggle: ‘z’ color/mono; ‘b’ bold/reverse (only if ‘x’ or ‘y’)
- z:彩色显示或单色显示的切换;
- b:当设置了x或y,即高亮显示时,再加上b,就会将高亮的带背景色;
- u、U:过滤有效或任何用户;
- n、#:设置最多显示的任务数,0表示不限制;
- C:显示坐标;
- k:杀死指定PID的进程;
- r:调整优先级;
- d、s:设置间隔时间;
- W:写入配置文件;
- Y:写入配置文件,并重新加载
- q:退出
其中,有一些参数可以直接跟在top命令后来使用,比如top -c、top -H等。另外还有一个top -p,用来指定PID显示。由于它支持逗号分隔的多个PID,因此用法很灵活,如以下示例: