linux显示进程占据资源命令
linux显示进程占据资源命令详细介绍
在 Linux 系统中,有多个命令可以查看进程占据的资源(如 CPU、内存、磁盘 I/O、网络等),以下是常用命令及说明:
1.
top - 实时监控进程资源
最常用的交互式进程监控工具,默认按 CPU 占用率排序,实时显示进程状态。
常用参数:
top:直接运行,进入交互界面(按M按内存排序,P按 CPU 排序,T按时间 / 累计时间排序)。-u <用户名>:仅显示指定用户的进程(如top -u your_username)。-d <秒数>:设置刷新间隔(如top -d 2表示每 2 秒刷新一次)。
输出关键字段:
%CPU:进程占用 CPU 百分比。%MEM:进程占用内存百分比。VIRT:进程虚拟内存大小。RES:进程实际使用的物理内存大小。
2.
htop - 增强版 top(需安装)
比 top 更直观的交互式工具,支持鼠标操作、树形结构显示进程关系,且能显示更多细节(如每个线程的资源占用)。
安装(以 Debian/Ubuntu 为例):
bash
常用功能:
- 按
F5查看进程树。 - 按
F2自定义显示列(如添加磁盘 I/O 相关字段)。
3.
ps - 静态进程信息
显示进程的静态快照,可结合参数筛选特定进程。
常用命令:
- 查看所有进程的详细信息:bash
auxa:显示所有用户的进程。u:以用户格式显示。x:显示无控制终端的进程。
- 查看指定进程 ID(PID)的详细信息:bash
PID - 按内存 / CPU 排序(结合
sort):bashaux -%memaux -%cpu
4.
free - 查看内存资源
显示系统内存(包括物理内存和交换内存)的使用情况。
bash
输出关键字段:
Mem:物理内存。Swap:交换内存(虚拟内存)。used:已使用的内存。free:空闲内存。buff/cache:缓冲区和缓存(用于加速文件访问,可被程序重用)。
5.
vmstat - 系统资源统计
提供系统整体的 CPU、内存、磁盘 I/O、上下文切换等统计信息。
bash
输出关键字段:
us:用户空间 CPU 占用率。sy:内核空间 CPU 占用率。id:空闲 CPU 百分比。bi/bo:磁盘块的读取 / 写入速率(单位:块 / 秒)。
6.
iotop - 磁盘 I/O 监控(需安装)
实时显示进程的磁盘 I/O 占用情况,类似于 top,但专注于 I/O。
安装(以 Debian/Ubuntu 为例):
bash
iotop
常用参数:
-o:仅显示有 I/O 活动的进程。-u <用户名>:仅显示指定用户的进程。
7.
netstat - 网络资源监控
显示网络连接、路由表、网络接口统计等信息(需结合参数筛选)。
常用命令:
- 查看所有 TCP 连接:bash
-a:显示所有连接(包括监听状态)。-n:以数字形式显示 IP 和端口。-t:显示 TCP 连接。-p:显示对应的进程 ID 和进程名。
- 查看 UDP 连接:bash
8.
lsof - 查看进程打开的文件
显示进程打开的文件、网络套接字等信息(需 root 权限)。
bash
PID:端口号
总结:
- 实时监控 CPU / 内存:首选
top或htop。 - 磁盘 I/O:使用
iotop或vmstat(需结合bi/bo字段)。 - 网络连接:使用
netstat或lsof。 - 静态进程信息:使用
ps aux结合筛选和排序。
根据具体需求选择合适的工具,例如排查高 CPU 占用时用 top,排查内存泄漏时结合 ps 和 free,排查磁盘瓶颈时用 iotop。