详解linux的ps aux命令 (linux的ps -aux)

在Linux系统中,ps aux命令是一个非常常用的命令,它用于显示当前系统中运行的所有进程。ps aux命令提供了一个简单的方式,以便管理员或用户可以轻松地观察系统的进程活动,并可以使用户管理进程活动。

本文将详细介绍ps aux命令的用法,以及其输出的信息的含义。接下来的内容将会告诉您如何使用ps aux命令来检查系统中正在运行的进程,优化系统性能,以及如何终止不必要的进程。

ps aux命令的基本用法

ps aux命令的基本语法如下:

ps aux

执行该命令后,您将看到系统中正在运行的所有进程的列表。该命令将默认按照进程的PID(进程标识符)来排序。以下是该命令输出的示例:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.1 118904 9244 ? Ss 2023 15:14 /in/init

root 2 0.0 0.0 0 0 ? S 2023 0:00 [kthreadd]

root 3 0.0 0.0 0 0 ? S 2023 0:06 [ksoftirqd/0]

root 5 0.0 0.0 0 0 ? S

root 7 0.0 0.0 0 0 ? S 2023 0:26 [rcu_sched]

root 8 0.0 0.0 0 0 ? S 2023 0:01 [rcu_bh]

root 9 0.0 0.0 0 0 ? S 2023 0:00 [migration/0]

root 10 0.0 0.0 0 0 ? S 2023 0:00 [watchdog/0]

root 11 0.0 0.0 0 0 ? S 2023 0:00 [watchdog/1]

root 12 0.0 0.0 0 0 ? S 2023 0:00 [migration/1]

ps aux命令输出的内容解释

下面是ps aux命令输出的各列含义的解释。

USER:该进程是由哪个用户发起的。

PID:该进程的PID(进程标识符)。

%CPU:该进程占用CPU的百分比。

%MEM:该进程占用内存的百分比。

VSZ:该进程占用的虚拟内存大小。

RSS:该进程占用的实际物理内存大小。

TTY:该进程在哪个tty(终端)上运行。如果不是从终端中运行,则为‘?’。

STAT:该进程的状态。常见的有D,S,R等。

START:该进程的启动时间。

TIME:该进程已经运行的CPU时间。

COMMAND:该进程启动时执行的命令。

ps aux命令的扩展用法

ps aux命令不仅可以查看正在运行的进程列表,还可以结合其他参数来获取更详细的信息。

ps auxf命令

ps auxf命令可以显示进程的家族树,以树形状式表示进程之间的层次关系。该命令输出的信息可用于查看一个进程的所有子进程。例如,您可以使用以下命令查看ssh进程的所有子进程:

ps auxf | grep ssh

ps auxw命令

ps auxw命令可以显示完整的命令行参数。默认情况下,ps aux命令只显示进程的命令名称,而忽略它们的参数。但经常需要查看进程的完整命令行参数以便更好地了解进程的运行情况。

ps aux | grep nginx

ps aux | grep mysql

ps aux | grep apache2

ps aux –sort=-%cpu

ps aux –sort=-%mem

ps aux命令还支持按照各种属性进行排序。例如,下面的命令可将进程按照CPU占用率降序排列:

ps aux –sort=-%cpu

类似地,下面的命令可将进程按照内存占用率降序排列:

ps aux –sort=-%mem

ps aux命令的用法示例

现在,让我们来看几个例子,以了解如何使用ps aux命令来监控系统进程和做出相应的取舍决定。

清理占用CPU的进程

如果发现系统运行缓慢,并且您需要了解哪些进程占用了大量的CPU资源,则可以使用ps aux命令来查找并终止这些进程。

一旦您找到了需要终止的进程的PID,可以使用kill命令来结束该进程。例如,假设您想结束尝试用100% CPU占用的进程,可以执行以下命令:

kill -9 1234

在这个命令中,1234是你要结束进程的PID。

查找占用大量内存的进程

与查找占用CPU高的进程类似,ps aux命令还可以用于查找占用大量内存的进程。这获取到特定进程占用内存的百分比:

ps -eo pid,%mem,command | sort -nr | head -n 10

这个命令将显示占用系统内存更高的10个进程。将其输出关联到grep命令可找到特定进程。

查找僵尸进程

当一个子进程关闭了一个父进程时,它就会变成一个僵尸进程。ps aux命令可以用于查找这些僵尸进程。使用以下命令来查找僵尸进程:

ps aux | grep ‘Z’

上述命令将列出所有僵尸进程。

查找守护进程

在Linux系统中,有些进程是守护进程,它们在后台运行,用于执行系统服务或某些任务。有时您可能需要查找这些守护进程,以便您可以手动停止或管理它们。

使用以下命令可以查找当前正在运行的所有守护进程:

ps aux | grep ‘[d]’

上述命令将返回所有正在运行的,以d开头的进程。

在本文中,我们讨论了ps aux命令的基本用法,还介绍了一些有用的扩展用法。ps aux命令是一个非常强大的命令,它可以帮助您有效地监控系统进程活动,并为您提供了许多优化系统性能的机会。

使用本文中所述的技巧,您可以轻松地识别哪些进程在占用大量系统资源,并及时终止这些进程。下次当您需要对Linux系统的进程进行管理时,请考虑使用ps aux命令。


数据运维技术 » 详解linux的ps aux命令 (linux的ps -aux)