linux命令资源占比
linux命令资源占比详细介绍
在 Linux 系统中,可以通过多种命令查看系统资源(CPU、内存、磁盘、网络等)的占用情况。以下是常用命令及资源占比的查看方法:
一、CPU 资源占比
1.
top /
htop(实时进程监控)
top:默认显示系统整体 CPU 使用率(所有核心平均),以及各进程的 CPU 占用率。- 按
1键:显示每个 CPU 核心的使用率。 - 按
P键:按 CPU 使用率降序排序进程。 - 输出示例中的
%CPU列表示进程占用的 CPU 比例(单个进程可能超过 100%,表示占用多个核心)。
- 按
htop(增强版top,支持可视化和鼠标操作):- 直接显示各进程的 CPU 占用,界面更清晰,支持筛选和排序。
2.
mpstat(多核 CPU 统计)
- 显示每个 CPU 核心的详细使用率(用户态、内核态、空闲等):bash
mpstat ALL
3.
ps aux(静态进程信息)
- 查看所有进程的 CPU 占用(非实时):bash
aux 3nr- 输出中的
%CPU列表示进程占用的 CPU 比例。
- 输出中的
二、内存资源占比
1.
free(整体内存统计)
- 查看物理内存和交换空间的使用情况:bash
- 输出说明:
Mem:物理内存,used为已用,free为空闲,available为可可用内存(包含缓存和缓冲)。Swap:交换空间(虚拟内存)的使用情况。
- 输出说明:
2.
top /
htop(进程内存占用)
- 查看各进程的内存占用,
top中按M键可按内存使用率排序。 - 输出中的
%MEM列表示进程占用的物理内存比例。
3.
vmstat(虚拟内存统计)
- 显示内存、swap、CPU 等综合信息(每秒 1 次,共 3 次):bash
- 关注
free(空闲内存)和swap(交换空间使用)。
- 关注
三、磁盘资源占比
1.
df(文件系统磁盘空间)
- 查看各分区的磁盘使用情况(容量、已用、可用、挂载点):bash
- 输出中的
Use%列表示分区的已用空间占比。
- 输出中的
2.
du(目录 / 文件大小)
- 查看指定目录的磁盘占用(按大小排序,找出大文件):bash
/path/to/directory--max-depth /
3.
iostat(磁盘 I/O 统计)
- 显示磁盘的读写吞吐量、响应时间等(需安装
sysstat包):bashiostat- 关注
%util(磁盘使用率,接近 100% 表示可能存在瓶颈)。
- 关注
四、网络资源占比
1.
netstat /
ss(网络连接统计)
netstat -antp:查看网络连接及其占用的进程(推荐用ss替代,更高效)。ss -tun:显示 TCP/UDP 连接的带宽使用情况。
2.
iftop(实时网络流量监控)
- 按网络接口实时显示带宽占用(需安装
iftop):bashiftop eth0
3.
nethogs(按进程监控网络流量)
- 显示各进程的网络上传 / 下载速率(需安装
nethogs):bashnethogs eth0
五、综合监控工具
1.
nmon(多功能监控)
- 同时监控 CPU、内存、磁盘、网络等资源(需安装
nmon):bashnmon
2.
glances(可视化实时监控)
- 提供图形化界面,实时显示系统资源占用(需安装
glances):bashglances
总结常用命令
| 资源类型 | 整体占比命令 | 进程 / 详细占比命令 |
|---|---|---|
| CPU | top、htop、mpstat |
top、htop、ps aux |
| 内存 | free、vmstat |
top、htop |
| 磁盘空间 | df |
du |
| 磁盘 I/O | iostat |
nmon、glances |
| 网络流量 | iftop、nethogs |
nethogs、ss |
根据需求选择合适的命令,实时监控推荐 htop、glances,排查性能瓶颈可用 nmon、iostat。部分命令需管理员权限(如 sudo)以获取完整信息。