Linux top命令介绍
top命令是Linux系统中最常用的命令之一,它可以显示系统的运行状态和进程信息,以及一些关于资源利用率的摘要信息,包括CPU和内存的使用情况。top命令提供了一个动态的实时视图,可以随时更新和刷新。top命令的全称是table of processes,意思是进程表。
适用的Linux版本
top命令适用于大多数Linux发行版,如Ubuntu、Debian、Fedora、CentOS等。不同的发行版可能会有一些细微的差异,例如显示的字段和选项。要查看top命令的版本,可以使用以下命令:
[linux@bashcommandnotfound.cn ~]$ top -v
本文使用的是Ubuntu 18.04系统和top 3.3.12版本。
Linux top命令的基本用法
要运行top命令,只需要在终端中输入以下命令并按回车键:
[linux@bashcommandnotfound.cn ~]$ top
top命令会进入交互式模式,显示当前活动的进程和其他系统信息。你可以使用一些可用的选项和快捷键来自定义视图。
Linux top命令的常用选项说明
top命令支持以下常用选项:
选项 | 说明 |
---|---|
-h, --help | 显示帮助信息,然后退出程序 |
-v, --version | 显示库版本和使用提示,然后退出程序 |
-b, --batch | 启动批处理模式,允许将top命令的输出发送到文件或其他程序。在批处理模式下,top不接受输入,并且运行直到被杀死或达到指定的迭代次数 |
-c, --command | 切换显示命令行或程序名。如果上次记住的状态是显示命令行,则该字段现在显示程序名,反之亦然 |
-d, --delay | 指定刷新屏幕之前的延迟时间,覆盖默认值。该值以秒为单位。该命令接受小数秒,但不接受负数 |
-e, --kibibytes | 切换内存单位为kibibytes(1024字节),而不是默认的mebibytes(1048576字节) |
-H, --threads | 显示单个线程而不是每个进程的所有线程之和 |
-i, --idle | 切换显示空闲进程。当该选项关闭时,top不显示自上次更新以来没有使用CPU资源的进程 |
-n, --iterations | 指定top产生的最大迭代次数,在达到该次数后退出程序 |
-o, --sort-key | 指定top用于排序进程的字段名。在字段名前加上+号强制top按照从高到低的顺序排序,加上-号则按照从低到高的顺序排序 |
-p, --pid | 指定要监视的一个或多个进程ID(PID),用逗号分隔。只有指定的进程会被显示 |
-u, --user | 指定要监视的一个或多个用户名或用户ID(UID),用逗号分隔。只有属于指定用户的进程会被显示 |
-w, --width | 指定屏幕宽度,覆盖默认值 |
Linux top命令的实例
查看系统摘要信息
[linux@bashcommandnotfound.cn ~]$ top
这个命令会显示系统的摘要信息,包括以下内容:
- 系统运行时间和负载
- 进程总数和各种状态的进程数
- CPU的使用情况,包括用户空间、内核空间、优先级和空闲时间
- 内存的使用情况,包括物理内存、交换空间和缓冲区
- 平均每秒的输入输出传输量
查看进程列表
[linux@bashcommandnotfound.cn ~]$ top
这个命令会显示进程列表,包括以下内容:
- 进程ID(PID)
- 进程所属的用户(USER)
- 进程的优先级(PR)和调度策略(S)
- 进程占用的虚拟内存(VIRT)、物理内存(RES)和共享内存(SHR)
- 进程占用的CPU百分比(%CPU)
- 进程占用的内存百分比(%MEM)
- 进程运行的时间(TIME+)
- 进程的命令行或程序名(COMMAND)
按照CPU使用率排序进程
[linux@bashcommandnotfound.cn ~]$ top -o +%CPU
这个命令会按照CPU使用率从高到低排序进程,并显示进程列表。你也可以在交互式模式下按Shift+P键来实现同样的效果。
按照内存使用率排序进程
[linux@bashcommandnotfound.cn ~]$ top -o +%MEM
这个命令会按照内存使用率从高到低排序进程,并显示进程列表。你也可以在交互式模式下按Shift+M键来实现同样的效果。
查看指定用户的进程
[linux@bashcommandnotfound.cn ~]$ top -u dave
这个命令会只显示属于dave用户的进程,并显示进程列表。你也可以在交互式模式下按u键,然后输入用户名来实现同样的效果。
查看指定PID的进程
[linux@bashcommandnotfound.cn ~]$ top -p 1234,5678
这个命令会只显示PID为1234和5678的两个进程,并显示进程列表。你也可以在交互式模式下按k键,然后输入PID来实现同样的效果。
以批处理模式运行top命令
[linux@bashcommandnotfound.cn ~]$ top -b -n 5 > top.txt
这个命令会以批处理模式运行top命令,并将输出重定向到top.txt文件中。该命令会运行5次迭代后退出。你可以用less或cat命令查看文件内容。
Linux top命令的注意事项
- 在交互式模式下,你可以使用一些快捷键来控制top命令的行为,例如:
- q:退出top命令
- h:显示帮助信息
- l:切换显示或隐藏负载信息
- t:切换显示或隐藏任务信息
- m:切换显示或隐藏内存信息
- s:改变刷新屏幕的延迟时间
- r:改变一个进程的优先级(需要root权限)
- k:杀死一个进程(需要root权限)
- f:选择要显示的字段
- x:切换高亮当前排序字段
- z:切换彩色或单色显示模式
评论区