Linux top 命令新手教程(8例)
在此页
- Linux 顶级命令
- Q1。如何使用顶?
- Q2。如何理解top命令的输出?
- Q3。如何从顶级输出中终止进程?
- Q4。如何更改进程的优先级?
- Q5。如何更改top命令的刷新率?
- Q6。如何限制对用户的顶级命令输出?
- Q7。如何使顶部显示完整的命令和参数?
- Q8。如何获得有关交互式顶级命令的帮助?
- 结论
在 Linux 命令行上工作时,有时您可能想检查与进程相关的详细信息,例如哪个进程最消耗 CPU 或内存?好吧,有一个名为 top 的命令可以让您轻松地做到这一点。在本教程中,我们将使用一些易于理解的示例来讨论此工具。
但在此之前,值得一提的是,本文中提到的所有示例都已在 Ubuntu 16.04 LTS 机器上进行了测试。
Linux 顶级命令
top 命令显示当前由 Linux 内核管理的进程或线程的列表,以及与它们相关的有用信息。以下是工具语法:
top [options]
下面是工具手册页关于它的内容:
The top program provides a dynamic real-time view of a running
system. It can display system summary information as well as a
list of processes or threads currently being managed by the Linux
kernel. The types of system summary information shown and the
types, order and size of information displayed for processes are
all user configurable and that configuration can be made persis?
tent across restarts.
The program provides a limited interactive interface for process
manipulation as well as a much more extensive interface for per?
sonal configuration -- encompassing every aspect of its opera?
tion.
以下是一些 Q&A 风格的示例,应该可以让您对 top 命令的工作原理有一个很好的了解。
Q1。如何使用顶?
很简单,只需执行没有任何选项的 top 命令:
top
这是它在我的系统上产生的输出:

请注意,您在屏幕截图中看到的只是生成的实时输出(在固定时间间隔后发生变化)的快照。
Q2。如何理解top命令的输出?
让我们从第一行开始。它包含条目(按此顺序)、当前时间、系统启动和运行以来的持续时间、活动用户会话和系统平均负载(分别为最后一分钟、五分钟和十五分钟)。
第二行包含有关进程总数、正在运行的进程数、睡眠进程数、已停止进程数和处于僵尸状态的进程数的信息(按此顺序)。
第三行包含 CPU 使用信息。详情如下:
us, user : time running un-niced user processes
sy, system : time running kernel processes
ni, nice : time running niced user processes
id, idle : time spent in the kernel idle handler
wa, IO-wait : time waiting for I/O completion
hi : time spent servicing hardware interrupts
si : time spent servicing software interrupts
st : time stolen from this vm by the hypervisor
接下来的两行显示与 RAM 和交换内存使用相关的信息。最后是进程相关信息,包括(按此顺序)进程 ID、拥有进程的用户、进程的优先级、进程的 nice 值、进程使用的虚拟内存、物理内存和共享内存、进程状态(休眠、运行或僵尸)、CPU 和 RAM 使用情况、活动时间以及启动进程的命令。
Q3.如何从顶级输出中终止进程?
这非常简单 - 只需按 k ,top 就会询问您要终止的进程的 PID。您会在包含流程列标题的行上方看到类似于以下内容的消息:
PID to signal/kill [default pid = 3397]

所以你看,你可以输入进程 ID 或者默认情况下,top 将尝试杀死(通过发送 SIGTERM)列表中的第一个进程。发送信号后,将生成类似于以下内容的消息。
Send pid 3007 signal [15/sigterm]
Q4.如何更改进程的优先级?
就像 k 是为了杀死,如果你想改变一个进程的优先级(或者你想重新启动它),你可以按 r 。按 r 会产生类似于以下内容的消息:
PID to renice [default pid = 3397]
因此,要么输入 PID,要么默认情况下 top 将尝试重新调整列表中第一个进程的优先级。比如我传了一个PID,然后top问我新的nice值。
Renice PID 2665 to value
只需提供一个值,然后按回车键,您就会看到相关进程的 nice 值会发生变化。
Q5.如何更改top命令的刷新率?
默认情况下,top 每 3 秒刷新一次输出,但您可以通过按 d 来调整它。该命令将要求您输入新的延迟值:
Change delay from 3.0 to
只需输入值,然后按回车键。就是这样。
Q6.如何限制对用户的顶级命令输出?
默认情况下,top 命令显示所有进程。但是,您可以通过按 u 将输出限制为特定用户。
Which user (blank for all)
只需在上面的行中输入用户名,然后按回车键,您将看到输出将仅包含您输入的用户名所拥有的那些进程。
例如,我输入 root,输出如下:

Q7.如何使顶部显示完整的命令和参数?
这可以通过按 c 来完成。这是一个例子:

因此,您现在可以在输出中看到完整的命令路径和命令行参数。
Q8.如何获得有关交互式顶级命令的帮助?
要获得与交互式顶级命令相关的帮助,请按 h。在输出中你会看到可用的命令,以及它们的作用。例如,这是当我按下 h 时系统上弹出的内容。

结论
我们只是触及了这里的表面。 top 命令提供了更多的功能。一旦您理解了我们在本文中讨论的所有内容并完成了练习,请前往顶部手册页了解更多信息。