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​​: 进程的命令行。

使用实例:

  1. 查看所有正在运行的进程:
ps aux
  1. 查看特定用户的进程:
ps aux -u username

协同参数

"ps aux" 命令是用于显示系统中所有进程的详细信息。以下是一些常用的与 "ps aux" 命令配合使用的参数:

  1. ​-e​​:显示所有进程,而不仅限于当前用户。
  2. ​-f​​:显示完整的进程信息,包括父进程ID、CPU使用情况、内存占用等。
  3. ​-u <username>​​:显示特定用户的进程信息。
  4. ​--sort=<key>​​​:按指定的键对进程进行排序,常见的键包括 ​​pid​​​(进程ID)、​​cpu​​​(CPU使用率)、​​rss​​(驻留集大小)等。
  5. ​-r​​:以反序显示进程列表,即逆序排列。
  6. ​--forest​​:以树状结构展示进程的父子关系。
  7. ​-o <format>​​​:自定义输出格式,可以指定要显示的字段,如 ​​%cpu​​​(CPU使用率)、​​%mem​​(内存使用率)等。

如查看当前系统中内存使用情况得排名:

ps aux --sort -rss

          

在 "ps aux" 命令的输出中,每个进程的状态(stat)字段表示其当前的执行状态。以下是一些常见的进程状态及其含义的示例说明:

  1. R(running):表示进程正在运行或等待执行。
  2. S(sleeping):表示进程处于睡眠状态,即在等待某个事件的发生。
  3. D(disk sleep):表示进程处于不可中断的睡眠状态,通常与输入/输出操作相关。
  4. T(stopped):表示进程已停止执行,并且可以通过调试器来控制它。
  5. Z(zombie):表示进程已经终止,但其父进程尚未清理其进程表项和退出状态,因此成为僵尸进程。
  6. 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使用率信息,可以使用其他工具如tophtop或性能监视器等。

 top 和 ps aux 的区别

在某些情况下,top命令和ps aux命令返回的CPU使用率可能会有差异。这是因为它们计算CPU使用率的方式不同以及采样时间间隔的差异。

  1. 计算方式不同:

    • top命令:默认情况下,top命令会将CPU使用率设置为基于瞬时值(instantaneous)的方式进行计算。它通过在每个采样周期内测量CPU活动时间来计算CPU使用率,并考虑到多核处理器的情况。
    • ps aux命令:相比之下,ps aux命令将CPU使用率设置为自进程启动以来的累计时间占用百分比。它计算的是进程自启动以来占用CPU的总时间百分比。
  2. 采样时间间隔不同:

    • top命令:top命令默认的采样时间间隔是3秒。可以通过在命令行中指定-d参数来调整采样间隔。较短的采样时间间隔能够更精确地捕捉到CPU使用率的瞬时变化。
    • ps aux命令:ps aux命令不实时监控进程,而是在调用命令时瞬间获取当前的CPU使用率。

示例说明: 假设有一个进程在某个特定的时间段内持续占用CPU资源,但是在其他时间段内处于空闲状态。使用topps aux命令来查看这个进程的CPU使用率可能会得到不同的结果。

  • top命令:如果进程在采样时间间隔内正好处于活跃状态,那么top命令可以捕捉到它的高CPU使用率,并将其显示为较高的百分比。
  • ps aux命令:而对于ps aux命令,它只显示进程自启动以来的CPU使用率累计值。因此,即使进程只在一小部分时间内占用CPU,ps aux命令也会显示该进程的CPU使用率较低。

  top命令适合实时监控系统资源,而ps aux命令更适合查看和分析进程的累计资源使用情况。在比较两者的CPU使用率时,需要考虑到它们的计算方式和采样时间间隔的差异。

 

posted @ 2023-09-08 00:00  香吧香  阅读(2185)  评论(0编辑  收藏  举报