一、Linux 进程监控工具概览¶
Linux 中最常见的进程查看命令如下:
| 监控命令 | 含义 |
|---|---|
ps |
静态查看某一时刻的进程状态,适合临时检查、筛选和脚本取值 |
top |
动态、交互式查看系统整体状态,包括负载、进程、CPU、内存等信息 |
htop |
top 的增强版,界面更友好,也支持鼠标操作 |
pstree |
以树状方式查看父子进程关系 |
二、ps 命令详解¶
2.1 常见用法¶
ps 命令常见写法如下:
| ps 命令选项 | 命令说明 |
|---|---|
ps -ef |
以全格式显示系统中的所有进程 |
ps auxf |
显示系统中全部进程的详细信息,并按树状结构展示父子关系 |
常见参数说明:
-e:显示所有进程-f:以 full format 显示更多字段a:显示所有终端上的进程u:以用户为中心显示格式x:显示无控制终端的进程f:按树状结构展示父子关系
2.2 ps -ef 每一列含义¶
| 列名 | 含义 |
|---|---|
UID |
启动该进程的用户 |
PID |
进程 ID |
PPID |
父进程 ID |
C |
CPU 占用相关信息 |
STIME |
进程启动时间 |
TTY |
关联终端,如果没有终端通常显示 ? |
TIME |
该进程累计占用的 CPU 时间 |
CMD |
启动进程时使用的完整命令 |
2.3 ps aux 每一列含义¶
| 列名 | 含义 |
|---|---|
USER |
进程所属用户 |
PID |
进程 ID |
%CPU |
CPU 使用率 |
%MEM |
内存使用率 |
VSZ |
虚拟内存大小(KB) |
RSS |
实际占用物理内存大小(KB) |
TTY |
关联终端 |
STAT |
进程状态 |
START |
进程启动时间 |
TIME |
占用 CPU 时间 |
COMMAND |
进程命令及参数 |
2.4 ps 使用案例¶
2.4.1 过滤某个服务进程¶
$ ps -ef | grep crond
$ ps aux | grep crond
2.4.2 查看进程树并显示 PID¶
$ pstree -p
如果没有 pstree,也可以使用:
$ ps auxf
2.4.3 提取指定字段¶
提取 ps aux 结果中的第一列和第三列:
$ ps aux | awk '{print $1,$3}'
提取时去掉标题行:
$ ps aux | awk 'NR>1{print $1,$3}'
自定义输出 user,%cpu,stat:
$ ps axo user,%cpu,stat
2.4.4 查询指定服务的详细字段¶
取出 crond 进程的 pid,%cpu,%mem,command:
$ ps aux | grep 'crond' | awk '{print $2,$3,$4,$11}'
更稳妥的写法:
$ ps --no-heading -o pid,%cpu,%mem,command -C crond
2.4.5 取最后一列和倒数第二列¶
$ ps aux | grep 'crond' | awk '{print $NF}'
$ ps aux | grep 'crond' | awk '{print $(NF-1)}'
2.4.6 找出内存使用率最高的前 5 个进程¶
$ ps --no-heading aux | sort -rnk4 | head -5
三、top 与 htop¶
3.1 top 的作用¶
top 是一个交互式系统监控命令,可以展示:
- 系统负载
- 进程信息
- CPU 使用情况
- 内存使用情况
它的体验类似 Windows 任务管理器。

3.2 top 常用快捷键¶
| top 快捷键 | 说明 |
|---|---|
q |
退出 |
空格 |
立即刷新 |
P |
按 CPU 使用率排序 |
M |
按内存使用率排序 |
Shift+> |
向右滚动 |
Shift+< |
向左滚动 |
3.3 htop¶
htop 可以看作是 top 的增强版,界面更友好,也支持鼠标操作。安装方式如下:
$ yum install -y htop
说明:htop 常见于 EPEL 源中,如果安装失败,通常需要先配置 EPEL 源。
启动 htop:
$ htop

四、top 使用案例¶
4.1 非交互模式查看第 2 行¶
$ top -bn1 | awk 'NR==2'
参数说明:
-b:批处理模式-n1:只执行 1 次
4.2 提取第 2 行中的最后两列¶
$ top -bn1 | awk 'NR==2{print $(NF-1),$NF}'
这类写法常用于在脚本中快速提取平均负载值。
五、小结¶
日常排查进程问题时,可以这样理解几类命令的分工:
ps:适合精确筛选和脚本化取值。top:适合实时观察系统整体运行状态。htop:适合更直观的人机交互式查看。pstree:适合分析父子进程关系和进程树。