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 命令完整讲解(运维+面试版)

四、资源瓶颈排查三步法(方法论)

  1. 先总览:top / vmstat 1 看 CPU、内存、I/O 哪个指标先异常
  2. 再定位:异常资源 → 用对应命令钻取(内存 → free + ps --sort=-%mem;磁盘 → df/du;CPU → top 找进程)
  3. 最后归因:找到消耗资源的进程 → 看它的日志、配置、行为是否合理

相关排障实例:Linux常见故障排障方法 · nginx排障复盘

🔗 相关笔记