Linux/Unix下的top命令及示例2025年3月17日 | 阅读 7 分钟 top命令显示系统环境中所有正在运行的进程。它有助于监控系统使用情况和性能。系统管理员主要用它来检测服务器负载。 top命令意为“进程列表”。它是一个任务管理器程序,在多种类Unix操作系统中都有,用于显示内存和CPU利用率的信息。 Top命令概述该程序生成一个按用户指定格式排序的活动进程列表,并定期更新。默认排序方式是按CPU使用率,只显示占用CPU最多的进程。top命令显示内存和处理能力的使用情况,以及活动进程的其他详细信息。 一些top版本允许对显示进行广泛的自定义,例如排序方法或列的选择。该命令对系统管理员很有帮助,因为它显示了哪些进程和用户在某个时间点使用了最多的系统资源。 Top命令的实现有各种不同的top版本可用。经典的Unix版本最初由William LeFebvre在1984年编写并获得版权。它托管在SourceForge上,3.7版本发布于2008年。Linux发行版中的top是procps-ng工具集的一部分。最初由Roger Binns编写,但很快被其他人接管。Solaris上的prstat功能与之大致相当。 Microsoft Windows包含图形化的任务管理器实用程序和tasklist命令。IBM AIX包含一个作为topas_nmon和topas命令一部分的活动进程更新列表。 在Linux中,负载平均值是指等待在运行队列中的进程总数加上当前正在执行的进程总数的和。这个数字是绝对的,而不是相对的。因此,与利用率不同,它可能没有上限。使用固定点数学计算的指数衰减公式会抑制进程总数的即时变化。 ps命令与top命令类似,但它只在调用时生成进程快照。top命令的n(总迭代次数)选项可以生成类似的结果,使程序执行指定的迭代次数后退出并显示其结果。 Top命令的选项
Top命令的列和字段下面解释了top命令中的一些重要字段或列
语法 ![]() 查看上面的快照,它的输出解释如下: 第一行
第二行
第三行 它以百分比显示CPU使用情况,用于:
第四行 它以千字节显示内存使用情况,用于:
第五行 它以千字节显示交换内存使用情况,用于:
表格说明
如果您愿意,可以通过按键来**隐藏/显示**这些标题行。 例如: 按 **l** - 显示/隐藏第一行。顶部行 按 **t** - 显示/隐藏第三行。CPU信息 按 **m** - 显示/隐藏第四行和第五行。内存信息 将top命令保持在后台运行您可以让top命令在后台持续运行,而无需每次都在终端中输入top。 按 **ctrl+z** 键可返回您的终端。 ![]() 查看上面的快照,按下ctrl+z键后,top命令已停止,我们已返回终端。 要将top命令带回终端,请在终端中键入 **fg**。 对top输出进行排序 默认情况下,top命令始终按CPU使用率排序显示输出。 **按 M** - 按内存使用率排序显示。 ![]() **按 O** - 显示所有可排序的列。 ![]() 查看上面的快照,所有列都分配了一个字母。要按列排序,请键入相应的字母,输出将根据该列进行排序。 在第一行中,显示了当前排序字段,即N,表示当前按N列排序。 **按 R** - 按相反的顺序显示。 ![]() 在不退出top的情况下杀死一个任务可以通过按 **k** 键在不退出top命令的情况下停止一个任务。 它会询问任务的PID号,如果您有权限杀死该任务,则任务将被移除。否则,您的命令将失败。 ![]() 查看上面的快照,按下k后,我们收到了一个要求杀死任务PID的消息。 重置任务的nice值Renice用于更改调度顺序。通过按 **r**,您可以在不杀死进程的情况下更改其优先级。它还会询问进程的PID。 ![]() 查看上面的快照,按下r后,我们收到了一个要求重置任务nice值的消息。 显示特定用户的进程在top命令输出中,您可以通过两个选项来仅显示特定用户的所有进程。一个是通过命令行,另一个是在不退出top的情况下。 在命令行中,使用以下命令 语法 示例 top -u sssit ![]() 查看上面的快照,它只显示用户sssit的所有进程。 当top命令运行时,按 **u**,它会要求输入用户名。键入用户名并按Enter键。 ![]() 查看上面的快照,按下u后,它正在要求输入用户名。 更新top输出默认情况下,top输出每3秒更新一次。当您想在3秒内更新它时,请按 **空格键**。 您还可以通过在运行top命令时按 **d** 键来更改更新频率。 ![]() 查看上面的快照,按下d键后,它正在要求输入它将频繁更新的时间。 更改颜色可以通过按 **z** 键更改颜色,并通过按 **b** 键使文本变为粗体。 ![]() 查看上面的快照,通过按b,所有运行的进程都以白色高亮显示。 要更改颜色,请按 **z** (小写z) 键。 ![]() 查看上面的快照,按z后,我们的输出已着色。 现在,如果您想为不同区域更改颜色,请按 **Z** (大写Z)。它会带您到菜单,您可以在其中为不同的目标选择不同的颜色。 ![]() 假设我们想在列标题上应用蓝色,在任务信息上应用洋红色。 那么我们将按H的4来设置标题,按T的5来设置任务信息。 ![]() 查看上面的快照,颜色已更改为其各自的目标。 在特定迭代次数后退出top命令会持续显示输出,直到您按q键退出。 但是您可以定义一定数量的迭代次数,之后top命令会自动从终端退出。 语法 示例 top -n 2 使用上面的示例,它将显示2次迭代然后自动退出。 下一个主题Linux last |
我们请求您订阅我们的新闻通讯以获取最新更新。