Linux 进程管理与性能排查实战
本文最后更新于 2026年7月7日 下午
Linux 进程管理与性能排查实战
一、进程与 PID
在 Linux 中,程序运行后会形成一个独立的执行实例,称为进程(Process)。
例如:
1 | |
运行后会创建一个 Python 进程,并占用 CPU、内存等系统资源。
每个进程都拥有唯一标识符 PID(Process ID):
1 | |
系统对进程的管理,本质上就是对 PID 的管理。
二、查看进程信息
使用 ps
查看系统全部进程:
1 | |
常见字段:
| 字段 | 说明 |
|---|---|
| PID | 进程ID |
| %CPU | CPU占用率 |
| %MEM | 内存占用率 |
| COMMAND | 启动命令 |
查看指定进程:
1 | |
更推荐使用:
1 | |
输出示例:
1 | |
三、系统资源监控
top
实时查看系统运行状态:
1 | |
重点关注:
- CPU 使用率
- 内存使用率
- Load Average(系统负载)
负载可理解为等待 CPU 调度的任务数量。
以 4 核 CPU 为例:
| Load | 状态 |
|---|---|
| <4 | 正常 |
| =4 | 满负载 |
| >4 | 存在性能压力 |
常用快捷键:
1 | |
htop
安装:
1 | |
启动:
1 | |
相比 top,支持交互式操作、搜索和进程管理,更适合日常运维使用。
四、查看进程关系
查看父子进程结构:
1 | |
示例:
1 | |
该命令有助于分析服务启动链路和进程依赖关系。
五、终止进程
kill
正常结束进程:
1 | |
常用信号:
| 信号 | 说明 |
|---|---|
| SIGTERM(15) | 优雅终止 |
| SIGKILL(9) | 强制终止 |
查看所有信号:
1 | |
建议优先使用默认 SIGTERM,仅在进程失去响应时使用 SIGKILL。
killall
按进程名称结束:
1 | |
pkill
按名称或条件匹配:
1 | |
六、资源占用分析
查看 CPU 占用最高的进程:
1 | |
查看内存占用最高的进程:
1 | |
这些命令常用于服务器性能异常时的快速定位。
七、查看进程打开的文件与端口
lsof
查看进程打开的文件:
1 | |
查看端口对应进程:
1 | |
也可结合网络排查工具:
1 | |
快速确认端口占用情况。
八、典型故障排查案例
CPU 持续过高
查看系统状态:
1 | |
按 CPU 排序:
1 | |
找到高占用进程后进一步分析程序逻辑或日志。
服务无法启动
检查端口占用:
1 | |
发现其他程序占用端口后,可停止对应进程或修改服务配置。
内存占用异常
查看内存排行:
1 | |
或使用:
1 | |
定位异常进程后结合日志进一步分析原因。
九、常用排查流程
当服务器出现卡顿或服务异常时,建议按照以下顺序分析:
1 | |
掌握进程管理工具与排查思路后,可以快速定位 CPU、内存、端口占用以及服务异常等常见运维问题。