如何在 Linux 中使用 ps aux 命令

Linux 中的命令是监控和管理正在运行的进程的重要工具。无论您是在解决性能问题、诊断系统问题,还是只是对服务器上运行的内容感到好奇,了解如何使用都至关重要。ps auxps aux

本指南将解释该命令的工作原理、输出的含义以及如何有效地将其用于系统监控和进程管理。ps aux


什么是 ps aux 命令

该命令是 (process status) 命令的变体,用于显示有关 Linux 系统上所有正在运行的进程的信息。它提供系统当前状态的详细快照,包括活动进程、内存和 CPU 使用率以及进程 ID (PID)。ps auxps

该命令的组件包括:ps aux

  • ps:此命令用于显示正在运行的进程的信息。
  • a:显示所有用户的进程,而不仅仅是当前用户的进程。
  • u:显示进程的用户/所有者。
  • x:包括没有控制终端的进程,例如 daemon 进程。

Together 提供了系统进程的完整列表,包括在后台运行的进程和由其他用户启动的进程。ps aux


了解 ps aux 的输出

当您运行 时,输出将如下所示:ps aux

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1 169592  5820 ?        Ss   Oct12   0:16 /sbin/init
www-data   345  0.0  0.2 218072  7280 ?        S    10:15   0:02 /usr/sbin/apache2
user      1234  1.0  5.6 455672 11684 pts/0    S+   10:30   0:45 /usr/bin/python3

以下是每列代表的内容:

  1. USER:拥有进程的用户。
  2. PID:进程 ID,每个正在运行的进程的唯一标识符。
  3. %CPU:进程使用的 CPU 的百分比。
  4. %MEM:进程使用的系统内存的百分比。
  5. VSZ:虚拟内存大小(以 KB 为单位)。
  6. RSS:驻留集大小,或进程正在使用的物理内存(以 KB 为单位)。
  7. TTY:与进程关联的终端(如果有)。
  8. STAT:进程的当前状态,如 running ()、sleeping () 或 stopped () ()。RST
  9. START:进程开始的时间。
  10. TIME:进程已使用的总累积 CPU 时间。
  11. COMMAND:启动进程的命令。

如何使用 ps aux 进行过程监控

1. 查找特定流程

如果要查找特定进程,可以使用 来筛选输出。例如,如果要查找与 Apache 相关的所有进程:ps aux | grep <process_name>

ps aux | grep apache

这将显示与 Apache 相关的所有进程,帮助您监控其资源使用情况。

2. 按 CPU 或内存使用情况对进程进行排序

您可以通过管道将 的输出传递给 to order 按资源使用情况对流程进行排序。例如,要查看消耗最多 CPU 的进程:ps auxsort

ps aux --sort=-%cpu | head

这将显示消耗 CPU 最多的前 10 个进程。同样,要按内存使用情况排序:

ps aux --sort=-%mem | head
3. 显示进程树

如果要查看进程之间的层次结构关系 (例如,父子关系),则可以将 与 选项一起使用。这将以树格式显示进程,帮助您直观地了解哪些进程产生了其他进程。ps aux--forest

ps aux --forest

ps aux 的常见用例

  1. 排查 CPU 使用率过高的问题:如果您的服务器或系统运行缓慢,您可以使用它来识别消耗过多 CPU 或内存的进程。ps aux
  2. 监视系统性能:通过定期运行,您可以监视系统运行状况并识别可能影响性能的后台进程。ps aux
  3. 杀死不需要的进程:如果您需要停止行为异常或消耗过多资源的进程,请使用命令后跟 PID。例如:killkill 1234
  4. 检查僵尸进程:僵尸进程(已失效的进程)是已完成执行但在进程表中仍有条目的进程。用于查找和删除这些不必要的条目。ps aux
THE END