ps aux

ps aux   查看当前系统上正在运行的进程的详细信息


ps 命令本身

  • ps 是 "Process Status"(进程状态)的缩写


选项 a, u, x 的含义

  • a = All users (所有用户的进程)
    • 这个选项会显示所有用户的进程,而不仅仅是当前执行 ps 命令的这个用户的进程。

  • u = User-oriented format (面向用户的格式)
    • 这个选项会让 ps 以一种更详细、更易于人类阅读的格式来显示进程信息。

    • 它会包含很多有用的列,比如 USER (进程所有者)、%CPU (CPU 使用率)、%MEM (内存使用率)、VSZ (虚拟内存大小)、RSS (物理内存大小) 等。

  • x = Processes without a controlling TTY (无控制终端的进程)
    • 这个选项非常重要。它会显示那些不与任何终端关联的进程。

    • 这些进程通常是系统守护进程 (daemons),它们在系统启动时就在后台运行,不与任何用户交互界面绑定。例如,数据库服务、Web 服务器(如 Nginx)、你用 pm2 启动的后台应用等,都属于这类进程。

总结组合效果
a 和 x 两个选项结合起来,就能确保你看到系统上几乎所有正在运行的进程,无论是前台用户的、后台系统的,还是其他用户的。而 u 选项则保证了这些信息是以一种详细且友好的格式呈现的。


ps aux 输出的典型列解释

      USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1 169420 11520 ?        Ss   Nov20   0:15 /sbin/init splash
root         2  0.0  0.0      0     0 ?        S    Nov20   0:00 [kthreadd]
...
myuser    1234  5.2  2.5 875432 102400 ?       Sl   10:30   2:05 /usr/bin/pm2...
myuser    1235  20.8 5.1 987654 204800 ?       Rl   10:31  15:42 node my_app.js
    
  • USER: 启动该进程的用户。

  • PID: Process ID (进程ID),每个进程的唯一标识符。这是最重要的信息之一,你可以用它来操作特定进程(如 kill 1234)。

  • %CPU: 进程占用的 CPU 时间百分比。

  • %MEM: 进程占用的物理内存 (RAM) 百分比。

  • VSZ: Virtual Memory Size (虚拟内存大小),单位是 KB。表示进程理论上可以访问的总内存空间。

  • RSS: Resident Set Size (常驻集大小),单位是 KB。表示进程当前实际占用了多少物理内存。这个值通常比 VSZ 更能反映真实的内存消耗。

  • TTY: Controlling Terminal (控制终端)。如果是 ?,表示该进程没有控制终端,通常是后台守护进程。

  • STAT: Process Status (进程状态)。常见的状态码有:

    • R (Running or Runnable): 正在运行或在运行队列中等待。

    • S (Interruptible Sleep): 正在休眠(可被中断),等待某个事件完成(如 I/O 操作)。

    • D (Uninterruptible Sleep): 不可中断的休眠,通常在等待硬件。

    • Z (Zombie): 僵尸进程,进程已终止,但其父进程尚未读取其退出状态。

    • T (Stopped or Traced): 已停止。

    • s: 是会话的领导进程。

    • l: 是多线程的。

    • +: 位于前台进程组。

  • START: 进程启动的时间或日期。

  • TIME: 进程自启动以来总共占用的 CPU 时间。

  • COMMAND: 启动该进程的命令及其参数。

你可能感兴趣的:(linux,数据库,运维)