top命令教程
作为Linux管理员,我们有时可能需要了解Linux系统的一些基本细节,例如当前正在运行的进程,平均系统负载,cpu和内存使用情况等。
幸运的是,我们有一个名为“ top”的命令行实用程序来获取这些详细信息。
top命令是一个众所周知且使用最广泛的实用程序,用于显示有关Linux和类Unix操作系统中正在运行的进程的动态实时信息。
在此教程中,我们将看到Linux上的一些Top命令示例。
top命令示例
其中我列出了一些最常用的top命令示例。
监控所有进程
要开始监视正在运行的进程,只需运行不带任何选项的top命令:
$top
如我们在上面的 Screen快照中所见,top命令在多列中显示进程列表。
每列显示详细信息,例如pid,用户,cpu使用情况,内存使用情况。
除了进程列表之外,我们还将在顶部看到有关平均系统负载,任务数,CPU使用率,内存使用率和交换使用率的简要统计信息。
这是上述参数的说明。
- PID-任务的进程ID。
- USER-任务所有者的用户名。
- PR-任务的优先级。
- NI-这项任务的价值很高。如果nice值为负,则该过程将获得更高的优先级。如果nice值为正,则优先级低。请参阅本教程以了解有关nice的更多信息。
- VIRT-任务使用的虚拟内存总量。
- RES-驻留内存大小,任务当前正在使用的非交换物理内存。
- SHR-共享内存大小。任务使用的共享内存量。
- S-进程的状态(S =睡眠R =运行Z =僵尸)。
- %CPU-CPU使用率。自上次 Screen更新以来,任务在已用CPU时间中所占的份额,表示为总CPU时间的百分比。
- %MEM-内存使用率。任务当前驻留在可用物理内存中的份额。
- TIME +-任务自启动以来使用的总CPU时间,精确到百分之一秒。
- COMMAND-正在运行的程序的名称。
显示进程的路径
如果要查看正在运行的进程的绝对路径,只需按“ c”。
现在,我们将在COMMAND列下看到程序的实际路径,如下面的 Screen快照所示。
监视特定用户拥有的进程
如果我们运行top命令而没有任何选项,它将列出所有用户拥有的所有正在运行的进程。
如何显示特定用户拥有的进程?
这很容易!要显示给定用户(例如sk)拥有的进程,只需运行:
$top -u sk
不显示空闲/僵尸进程
无需查看所有进程,我们可以简单地忽略空闲或者僵尸进程。
以下命令将不显示任何空闲或者僵尸进程:
$top -i
使用PID监视进程
如果知道任何进程的PID,例如21180,则可以使用-p标志监视该进程。
$top -p 21180
我们可以使用逗号分隔的值指定多个PID。
使用进程名称监视进程
我不知道PID,但只知道进程名称。
如何监控呢?
简单的!
$top -p $(pgrep -d ',' firefox)
其中firefox是进程名称,“ pgrep -d”从进程名称中选择相应的PID。
按CPU使用率显示进程
有时,我们可能想要显示按CPU使用率排序的进程。
如果是这样,请使用以下命令:
$top -o %CPU
CPU使用率较高的进程将显示在顶部。
或者,我们可以通过按SHIFT + p按CPU使用率对进程进行排序。
按内存使用情况显示进程
同样,要按内存使用量对进程进行排序,命令将是:
$top -o %MEM
Renice进程
我们可以使用选项“ r”随时更改进程的优先级。
运行top命令,然后按r并键入进程的PID,以更改其优先级。
此处,“ r”是指renice。
设定更新间隔
顶级程序具有一个选项,可以指定两次 Screen更新之间的延迟。
如果要更改延迟时间(例如5秒),请运行:
$top -d 5
默认值为3.0秒。
如果我们已经启动了最上面的命令,只需按'd'并键入delay-time并按ENTER键。
设置迭代次数(重复)
默认情况下,top命令将一直运行,直到我们按q退出为止。
但是,我们可以设置迭代次数,然后top结束。
例如,要在5次迭代后自动退出top命令,请运行:
$top -n 5
终止正在运行的进程
要终止正在运行的进程,只需按“ k”并键入其PID并按Enter键。
突出运行进程
top命令还支持其他一些选项。
例如,按“ z”在单色和彩色输出之间切换。
这将轻松突出显示正在运行的进程。
按“ h”查看所有可用的键盘快捷键和帮助部分。
要退出顶部,只需按q。
在这一阶段,我们将对top命令有基本的了解。
有关更多详细信息,请参见手册页。
$man top
如我们所见,使用Top命令监视正在运行的进程并不难。