top 命令是 Linux 和 Unix 类似系统中常用的命令行工具,用于实时显示系统的整体状态,包括 CPU 使用率、内存使用情况、进程列表等。top 命令非常适合用来监控系统性能和诊断系统问题。

1. 基本用法

当你在终端中输入 top 命令并按回车键时,你会看到一个实时更新的界面,显示当前系统中最活跃的进程。默认情况下,进程列表会根据 CPU 使用率排序。

2. 界面解释

以下是 top 命令输出界面的主要部分:

  • 第一行:通常显示系统运行时间和当前登录用户数,以及系统负载平均值(过去1分钟、5分钟和15分钟的平均值)。
  • 第二行:显示任务总数(进程数),以及正在运行的任务数、睡眠的任务数、停止的任务数和僵尸任务数。
  • 第三行:显示 CPU 使用情况的百分比,包括用户态 CPU 时间、系统态 CPU 时间、空闲时间、等待 I/O 完成的时间等。
  • 第四行:显示内存使用情况,包括物理内存总量、已使用的内存、空闲的内存、缓存的内存等。
  • 第五行:显示交换空间(swap)的使用情况,包括总交换空间、已使用的交换空间、未使用的交换空间。
  • 第六行及以后:显示进程列表,每一行代表一个进程,并按不同的列显示相关信息,如 PID(进程ID)、USER(拥有者)、PR(优先级)、NI(nice 值)、VIRT(虚拟内存大小)、RES(常驻内存大小)、SHR(共享内存大小)、%CPU(CPU 使用率)、%MEM(内存使用率)、TIME+(运行时间)、COMMAND(命令名称/进程名)。

3. 命令行选项

top 命令支持多种命令行选项来定制输出:

  • -b:批处理模式,用于脚本中输出结果,而不是进入交互模式。
  • -c:显示完整的命令行而非命令名称。
  • -d:指定更新间隔时间(秒)。
  • -n:指定更新次数。
  • -p:监视指定的进程ID。
  • -q:高优先级模式,使 top 自身运行在较高优先级下。
  • -s:安全模式,禁用一些功能。
  • -S:累积模式,显示每个进程自上次启动以来累积的 CPU 时间。
  • -H:显示线程(适用于多线程应用程序)。

4. 交互命令

在 top 命令的交互模式中,可以使用键盘上的字母或字符来执行各种操作:

  • P:按 CPU 使用率排序。
  • M:按内存使用率排序。
  • N:按 PID 排序。
  • h 或 ?:显示帮助信息。
  • k:杀死进程(随后提示输入进程 ID)。
  • r:更改进程的优先级(nice 值)。
  • S:切换累积模式。
  • m:切换显示内存使用情况。
  • q:退出 top。
  • u:显示特定用户的进程(随后提示输入用户名)。
  • g:回到默认显示。
  • l:锁定或解锁当前视图。
  • t:切换显示标题行。
  • T:切换显示线程。
  • z:改变颜色方案。
  • Shift + PgUp 或 PgDn:改变更新间隔。
  • Ctrl + L:清屏。

4. 示例

// 启动 top 并查看系统资源使用情况:

$ top

// 监视特定进程的资源使用情况:

$ top -p 12345

// 将 top 的输出重定向到文件:

$ top -b -n 1 > top_output.txt

这些是 top 命令的基本用法和一些常见的选项。通过这些命令,你可以有效地监控系统的运行状态,并及时发现潜在的问题。

作者:jackzang  创建时间:2024-10-30 16:25
最后编辑:jackzang  更新时间:2024-10-30 16:32