ps aux 命令使用查看内存、cpu使用排名与top的区别

简介: 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
2.

查看特定用户的进程:

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的总时间百分比。
  1. 采样时间间隔不同:
  • 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使用率时,需要考虑到它们的计算方式和采样时间间隔的差异。

 

标签: linux

目录
相关文章
|
10天前
|
存储 缓存 安全
阿里云服务器内存型r7、r8a、r8y、r8i实例区别及选择参考
随着阿里云2024年金秋云创季的开始,目前在阿里云的活动中,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y和内存型r8i这几个实例规格,相比于活动内的经济型e和通用算力型u1等实例规格来说,这些实例规格等性能更强,虽然这几个实例规格的云服务器通常处理器与内存的配比为都是1:8,但是他们在处理器、存储、网络、安全等方面等性能并不是一样的,所以他们的适用场景也有着不同。本文为大家介绍内存型r7、r8a、r8y、r8i实例的性能、适用场景的区别以及选择参考。
|
8天前
|
弹性计算 Kubernetes Perl
k8s 设置pod 的cpu 和内存
在 Kubernetes (k8s) 中,设置 Pod 的 CPU 和内存资源限制和请求是非常重要的,因为这有助于确保集群资源的合理分配和有效利用。你可以通过定义 Pod 的 `resources` 字段来设置这些限制。 以下是一个示例 YAML 文件,展示了如何为一个 Pod 设置 CPU 和内存资源请求(requests)和限制(limits): ```yaml apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image:
|
17天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
191 2
|
2月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
128 5
|
28天前
|
运维 JavaScript Linux
容器内的Nodejs应用如何获取宿主机的基础信息-系统、内存、cpu、启动时间,以及一个df -h的坑
本文介绍了如何在Docker容器内的Node.js应用中获取宿主机的基础信息,包括系统信息、内存使用情况、磁盘空间和启动时间等。核心思路是将宿主机的根目录挂载到容器,但需注意权限和安全问题。文章还提到了使用`df -P`替代`df -h`以获得一致性输出,避免解析错误。
|
1月前
|
C# 开发工具 Windows
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
41 0
|
2月前
|
存储 缓存 NoSQL
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
71 0
|
2月前
|
Prometheus Kubernetes 监控
使用kubectl快速查看各个节点的CPU和内存占用量
在Kubernetes集群中,安装metrics-server,并使用kubectl快速查看集群中各个节点的资源使用情况。
127 0
|
6月前
|
Linux
百度搜索:蓝易云【Linux系统ps命令:查看正在运行的进程】
通过这些简洁的ps命令用法,你可以方便地查看Linux系统中正在运行的进程信息。
88 1
|
6月前
|
安全 Linux 应用服务中间件
linux(三十一)系统信息命令ps查看系统进程
linux(三十一)系统信息命令ps查看系统进程
221 1