ps aux 命令使用查看内存、cpu使用排名与top的区别
转载请注明出处:
ps aux
命令是一个常用的Linux/Unix系统命令,它用于查看正在运行的进程信息。下面是该命令使用的参数介绍、命令响应结果参数介绍以及一些使用实例的总结:
命令使用参数介绍:
-
a
: 显示所有用户的进程,包括其他用户的进程。 -
u
: 以用户为基础显示详细信息,包括用户名、进程ID、CPU利用率、内存使用等。 -
x
: 显示没有控制终端的进程。
命令响应结果参数介绍:
ps aux
命令的响应结果包含以下列参数:
-
USER
: 进程所属的用户。 -
PID
: 进程的ID。 -
%CPU
: 进程使用的CPU百分比。 -
%MEM
: 进程使用的内存百分比。 -
VSZ
: 进程使用的虚拟内存大小(单位:KB)。 -
RSS
: 进程使用的物理内存大小(单位:KB)。 -
TTY
: 进程所连接的终端设备。 -
STAT
: 进程状态。 -
START
: 进程启动时间。 -
TIME
: 进程占用CPU的累计时间。 -
COMMAND
: 进程的命令行。
使用实例:
- 查看所有正在运行的进程:
ps aux
- 查看特定用户的进程:
ps aux -u username
协同参数
"ps aux" 命令是用于显示系统中所有进程的详细信息。以下是一些常用的与 "ps aux" 命令配合使用的参数:
-
-e
:显示所有进程,而不仅限于当前用户。 -
-f
:显示完整的进程信息,包括父进程ID、CPU使用情况、内存占用等。 -
-u <username>
:显示特定用户的进程信息。 -
--sort=<key>
:按指定的键对进程进行排序,常见的键包括 pid
(进程ID)、cpu
(CPU使用率)、rss
(驻留集大小)等。 -
-r
:以反序显示进程列表,即逆序排列。 -
--forest
:以树状结构展示进程的父子关系。 -
-o <format>
:自定义输出格式,可以指定要显示的字段,如 %cpu
(CPU使用率)、%mem
(内存使用率)等。
如查看当前系统中内存使用情况得排名:
ps aux --sort -rss
在 "ps aux" 命令的输出中,每个进程的状态(stat)字段表示其当前的执行状态。以下是一些常见的进程状态及其含义的示例说明:
- R(running):表示进程正在运行或等待执行。
- S(sleeping):表示进程处于睡眠状态,即在等待某个事件的发生。
- D(disk sleep):表示进程处于不可中断的睡眠状态,通常与输入/输出操作相关。
- T(stopped):表示进程已停止执行,并且可以通过调试器来控制它。
- Z(zombie):表示进程已经终止,但其父进程尚未清理其进程表项和退出状态,因此成为僵尸进程。
- I(idle):表示进程处于空闲状态,即没有要执行的任务。
这些是常见的进程状态标识符,它们帮助我们了解进程在系统中的运行状态。
查看cpu使用排名
ps aux --sort=-%cpu
这个命令会显示当前系统中所有进程的信息,并按照CPU使用率从高到低进行排序。
在ps aux
命令的输出中,CPU使用率(%CPU)指的是占用整个CPU的使用率,而不是单核中CPU的使用率。
对于多核CPU的情况,每个进程的CPU使用率可以超过100%。例如,如果一个进程同时使用两个CPU核心,并且每个核心的使用率为50%,那么该进程的总CPU使用率将显示为100%。
请注意,ps aux
命令的输出结果中的%CPU列给出的是自启动以来的累计CPU使用时间百分比,并不是瞬时值。要获取更详细的瞬时CPU使用率信息,可以使用其他工具如top
、htop
或性能监视器等。
top 和 ps aux 的区别
在某些情况下,top
命令和ps aux
命令返回的CPU使用率可能会有差异。这是因为它们计算CPU使用率的方式不同以及采样时间间隔的差异。
-
计算方式不同:
top
命令:默认情况下,top
命令会将CPU使用率设置为基于瞬时值(instantaneous)的方式进行计算。它通过在每个采样周期内测量CPU活动时间来计算CPU使用率,并考虑到多核处理器的情况。ps aux
命令:相比之下,ps aux
命令将CPU使用率设置为自进程启动以来的累计时间占用百分比。它计算的是进程自启动以来占用CPU的总时间百分比。
-
采样时间间隔不同:
top
命令:top
命令默认的采样时间间隔是3秒。可以通过在命令行中指定-d
参数来调整采样间隔。较短的采样时间间隔能够更精确地捕捉到CPU使用率的瞬时变化。ps aux
命令:ps aux
命令不实时监控进程,而是在调用命令时瞬间获取当前的CPU使用率。
示例说明: 假设有一个进程在某个特定的时间段内持续占用CPU资源,但是在其他时间段内处于空闲状态。使用top
和ps aux
命令来查看这个进程的CPU使用率可能会得到不同的结果。
top
命令:如果进程在采样时间间隔内正好处于活跃状态,那么top
命令可以捕捉到它的高CPU使用率,并将其显示为较高的百分比。ps aux
命令:而对于ps aux
命令,它只显示进程自启动以来的CPU使用率累计值。因此,即使进程只在一小部分时间内占用CPU,ps aux
命令也会显示该进程的CPU使用率较低。
top
命令适合实时监控系统资源,而ps aux
命令更适合查看和分析进程的累计资源使用情况。在比较两者的CPU使用率时,需要考虑到它们的计算方式和采样时间间隔的差异。