ps aux 不直接显示进程树,但可通过 USER、COMMAND 等列区分 Nginx master(root 权限,含“master process”)与 worker 进程(如 www-data,含“worker process”),结合 ps f 或 --forest 可查看父子关系,PPID 指向 master;top/htop 支持实时排序与树状监控。

ps aux 本身不直接显示进程树结构,但可以结合其他命令或参数辅助识别 Nginx 的主进程与工作进程关系,并观察 CPU、内存等资源占用情况。
理解 Nginx 的典型进程模型
Nginx 启动后通常有一个 master 进程(以 root 权限运行)和多个 worker 进程(默认以 nobody 或 www-data 等非特权用户运行)。master 进程负责管理 worker 进程、读取配置、平滑重启等;worker 进程实际处理 HTTP 请求。
在 ps aux 输出中,可通过以下特征识别:
- master 进程的 COMMAND 列通常显示为 nginx: master process /usr/sbin/nginx(路径依安装方式而异)
- worker 进程显示为 nginx: worker process,且 USER 列与 master 不同(如 root vs www-data)
- 部分系统还可能有 cache loader 或 cache manager 进程,显示为 nginx: cache loader process 等
用 ps aux 筛选并观察 Nginx 进程
直接运行 ps aux | grep nginx 可快速列出所有 Nginx 相关进程。为避免 grep 自身出现在结果中,常用写法:
ps aux | grep "[n]ginx"
输出示例(关键列说明):
- USER:运行该进程的用户(区分 master/worker)
- %CPU 和 %MEM:当前 CPU 与内存占用百分比,可用于定位异常高负载的 worker
- VSZ 和 RSS:虚拟内存大小与常驻物理内存(KB),RSS 更反映真实内存消耗
- COMMAND:进程启动命令,是识别角色的关键依据
补充查看进程树结构(需额外命令)
若需直观看到父子关系,ps aux 需配合 --forest 参数(部分系统支持):
ps aux --forest | grep nginx
或使用更通用的 ps f(f 表示 forest):
ps f -o pid,ppid,user,%cpu,%mem,command | grep nginx
此时可观察到 PPID(父进程 ID),master 进程的 PPID 通常是 1(systemd)或 shell PID,而 worker 进程的 PPID 指向 master 的 PID。
结合 top 或 htop 实时监控资源分布
ps aux 是快照式命令,适合一次性检查。若需持续观察各 worker 的资源波动:
- 运行 top → 按 Shift+H 切换线程视图(Nginx worker 默认为进程,非线程,此步可选)→ 按 Shift+O 排序字段,输入 ni(nice)、pcpu 或 pmem 回车,按 CPU 或内存降序排列
- 或使用 htop(需安装),开启树状视图(F5),可清晰看到 master → worker 的层级,并实时显示资源占用条形图


















