常用Linux命令top

200 阅读4分钟

第一行:概况

  • 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,因此用法很灵活,如以下示例: