ps aux 输出意义

Tim*_*Tim 260 linux ps

输入命令时ps aux,输出的每一列是什么意思?例如:

$ ps aux  
timothy  29217  0.0  0.0 11916 4560 pts/21   S+   08:15   0:00 pine  
root     29505  0.0  0.0 38196 2728 ?        Ss   Mar07   0:00 sshd: can [priv]   
can      29529  0.0  0.0 38332 1904 ?        S    Mar07   0:00 sshd: can@notty   
Run Code Online (Sandbox Code Playgroud)

感谢致敬!

hea*_*vyd 313

$ ps aux  
USER       PID  %CPU %MEM  VSZ RSS     TTY   STAT START   TIME COMMAND
timothy  29217  0.0  0.0 11916 4560 pts/21   S+   08:15   0:00 pine  
root     29505  0.0  0.0 38196 2728 ?        Ss   Mar07   0:00 sshd: can [priv]   
can      29529  0.0  0.0 38332 1904 ?        S    Mar07   0:00 sshd: can@notty  
Run Code Online (Sandbox Code Playgroud)
  • USER = 拥有进程的用户
  • PID = 进程的进程ID
  • %CPU = 它是使用的 CPU 时间除以进程运行的时间。
  • %MEM = 进程驻留集大小与机器物理内存的比率
  • VSZ = 整个进程的虚拟内存使用量(以 KiB 为单位)
  • RSS = 常驻集大小,任务已使用的非交换物理内存(以 KiB 为单位)
  • TTY = 控制 tty(终端)
  • STAT = 多字符进程状态
  • START = 过程的开始时间或日期
  • TIME = 累积 CPU 时间
  • COMMAND = 命令及其所有参数

有关更多信息,请参阅ps 手册页

  • 您可以添加例如 VSZ 和 RSS 以 KiB 输出,而不是我最初想到的字节... (27认同)
  • RSS 是此进程使用的物理内存量。请注意,这包括与其他进程共享的任何内存(例如,如果其他进程是从同一可执行文件或库加载的),因此它可能会过度报告内存使用情况。VSZ 是虚拟内存空间的大小 - 不要被这个误导,因为它不是所有“使用”的内存。它包括正在使用的内存 (RSS)、已交换的内存,但通常大多数只是额外的寻址空间,实际上并未分配任何实际内存 - 为了使用该空间,需要给予更多内存过程。 (3认同)
  • 我试着想一个比喻。假设您正在吃晚餐,因此您要与其他人分享有限的食物。RSS 是当前盘子上的食物量。VSZ 是你盘子的大小。并非所有盘子都是食物,这与您声称的食物数量无关。 (2认同)

小智 50

这可能会有所帮助:

过程状态代码 (STAT):

  • R 正在运行或可运行(在运行队列上)
  • D 不间断睡眠(通常是IO)
  • S 可中断睡眠(等待事件完成)
  • Z 不复存在/僵尸,已终止但未被其父级收割
  • T 通过作业控制信号或因为正在跟踪而停止

一些额外的修饰符:

  • < 高优先级(对其他用户不好)
  • N 低优先级(对其他用户好)
  • L 将页面锁定到内存中(用于实时和自定义 IO)
  • s 是会话负责人
  • l 是多线程的(使用 CLONE_THREAD,就像 NPTL pthreads 那样)
  • + 在前台进程组中


Eri*_*ski 28

在 Linux 中,命令:

ps -aux
Run Code Online (Sandbox Code Playgroud)

表示为所有用户显示所有进程。你可能想知道 x 是什么意思?x 是一个说明符,表示“任何用户”。所以你可以输入:

ps -auroot
Run Code Online (Sandbox Code Playgroud)

显示所有根进程,或

ps -auel
Run Code Online (Sandbox Code Playgroud)

它显示来自用户 el 的所有进程。'man ps' 页面中的技术问题是:“ps -aux 打印名为 'x' 的用户拥有的所有进程,以及打印 -a 选项将选择的所有进程。