Linux 进程查看:ps、top、htop
程序运行起来以后,就变成了进程。理解进程,是你学习服务管理、系统排错和资源监控的基础。
程序和进程
程序是磁盘上的文件,例如 /usr/bin/ls。进程是程序运行时的实例。
同一个程序可以启动多个进程。比如你打开多个终端,每个终端背后都可能有一个 Shell 进程。
每个进程都有一个 PID,也就是进程 ID。
使用 ps 查看进程
查看当前终端相关进程:
ps
查看系统中的进程:
ps aux
常见列含义:
USER:进程属于哪个用户。PID:进程 ID。%CPU:CPU 占用。%MEM:内存占用。STAT:进程状态。COMMAND:启动命令。
配合 grep 查找进程:
ps aux | grep ssh
使用 top 动态查看
top 会持续刷新系统状态:
top
你可以看到:
- 系统运行时间。
- CPU 使用率。
- 内存使用情况。
- 进程列表。
常用按键:
| 按键 | 作用 |
|---|---|
P | 按 CPU 占用排序 |
M | 按内存占用排序 |
k | 输入 PID 后发送信号 |
q | 退出 |
htop 更适合交互查看
htop 是更友好的进程查看工具:
htop
它通常需要额外安装。相比 top,htop 更容易:
- 用方向键选择进程。
- 搜索进程。
- 按 CPU 或内存排序。
- 查看进程树。
如果系统没有 htop,先使用 top 也完全可以。
查看内存
查看内存使用情况:
free -h
输出中你会看到 total、used、free、available 等列。初学时重点看 available,它更能反映系统还能给新程序使用多少内存。
Linux 会把空闲内存用于缓存,所以 free 很小不一定代表系统真的没内存。