Linux03 Linux 资源管理
定位:理解 Linux 系统资源有哪些、谁在消耗、用什么命令查看。
实战命令细节见:Linux资源查看命令速查(free-df-du-ss) · Linux系统资源全方位巡检
一、系统资源介绍
Linux 的系统资源主要有:
| 资源 | 说明 | 典型瓶颈表现 |
|---|---|---|
| CPU | 计算能力,核心数决定并行上限 | load 高、响应慢、进程排队 |
| 内存 | 进程运行时的工作空间 | OOM、频繁换页(swap)、应用变慢 |
| 磁盘空间 | 文件存储 | 磁盘写满导致服务异常、日志写失败 |
| 磁盘 I/O | 读写吞吐量 | %util 高、应用等待 I/O(iowait 高) |
| 网络带宽 | 收发数据的能力 | 丢包、超时、连接缓慢 |
| 端口/连接数 | TCP/UDP 连接通道 | 端口耗尽(TIME_WAIT 堆积)、连接拒绝 |
| 文件描述符 | 进程可打开的文件/连接数 | too many open files 报错 |
它们为各种程序和服务的运行提供保障。运维排障的本质,就是找出哪种资源不够用了。
二、系统资源的使用
系统资源的使用者是各种进程和文件:
- 每个进程都会同时占用多种资源:CPU 时间片、内存页、文件描述符、网络连接
- 文件(含日志)持续消耗磁盘空间;被打开的文件句柄消耗文件描述符
- 端口和连接由网络类进程持有
进程和线程的关系可见:进程和线程
三、各种资源的查看方法
查看命令众多,核心记忆法:一个资源对应一组命令。
| 资源 | 首选命令 | 备用/深入 |
|---|---|---|
| 总览 | top(动态) |
htop、vmstat 1 |
| CPU | top 中的 %Cpu(s) |
mpstat、uptime 看 load |
| 内存 | free -h |
/proc/meminfo、top |
| 磁盘空间 | df -h |
du -sh <目录> 定位大文件 |
| 磁盘 I/O | iostat -x 1 |
vmstat 的 io 列 |
| 网络/端口 | ss -tlnp |
netstat、lsof -i |
| 进程占用 | ps aux --sort=-%cpu |
详见 ps 命令完整讲解(运维+面试版) |
具体的实战案例可见:ps 命令完整讲解(运维+面试版)
四、资源瓶颈排查三步法(方法论)
- 先总览:
top/vmstat 1看 CPU、内存、I/O 哪个指标先异常 - 再定位:异常资源 → 用对应命令钻取(内存 →
free+ps --sort=-%mem;磁盘 →df/du;CPU →top找进程) - 最后归因:找到消耗资源的进程 → 看它的日志、配置、行为是否合理
相关排障实例:Linux常见故障排障方法 · nginx排障复盘
评论