内存、磁盘、网络监控
一、内存监控
1. 监控命令:free
-
基本用法 :
free -
友好显示 :
free -m(以MB为单位)
2. 内存统计详解
(1) 关键字段说明
total: 1819 MB # 总内存(2GB,系统显示可能略少)
used: 1043 MB # 已使用内存
free: 199 MB # 空闲内存
buff/cache: 576 MB # 缓冲和缓存内存
available: 599 MB # 可用内存(最重要)

(2) 计算异常解释
-
数学矛盾:used(1043) + free(199) ≠ total(1819)
-
原因 :存在
buff/cache(576 MB) -
实际等式 :
used + free + buff/cache ≈ total
3. 缓冲与缓存概念
(1) Buffer(缓冲)
-
作用:写操作缓存
-
目的:提升CPU与磁盘交互速度
-
机制:
-
写数据时先写入内存buffer
-
定期批量写入磁盘
-
减少频繁磁盘写入
-
(2) Cache(缓存)
-
作用:读操作缓存
-
目的:提升数据读取速度
-
机制:
-
第一次读取磁盘数据时存入cache
-
后续读取直接从cache获取
-
避免重复磁盘读取
-
(3) 技术背景
-
速度对比:内存 >> 磁盘
-
问题:CPU速度快,磁盘慢 → CPU等待磁盘
-
解决方案:利用空闲内存作为缓冲/缓存
-
硬件影响:固态硬盘(SSD)比机械硬盘快得多
4. 可用内存计算
-
available = free + 可回收的buff/cache
-
算法:操作系统评估可释放的缓存量
-
示例:free(199) + 可释放缓存(400) ≈ available(599)
5. 内存使用率计算
-
公式:内存使用率 = 1 - (available / total)
-
示例:1 - (599 / 1819) ≈ 67%
6. Swap交换分区
(1) 概念
-
定义:磁盘上的虚拟内存空间
-
作用:物理内存不足时的临时存储
-
大小:通常等于物理内存大小(本机2GB)
(2) 工作原理
-
内存不足时:将不常用数据移到swap
-
需要时:将swap数据移回内存
-
交换过程:内存 ↔ swap(磁盘)
(3) 监控意义
-
有使用量:说明历史发生过内存不足
-
正在使用:说明当前内存不足
-
本机状态:used = 0,说明内存充足

二、磁盘监控
1. 安装命令
yum install -y sysstat # 安装监控工具包
2. 磁盘性能监控:iostat
(1) 常用命令
iostat -x -k 1 # 扩展信息,KB单位,每秒刷新
(2) 关键字段解读
| 字段 | 含义 | 关注点 |
|---|---|---|
| Device | 磁盘设备名 | 关注vda或sda(第一块磁盘) |
| rkB/s | 每秒读取数据量(KB) | 读流量 |
| wkB/s | 每秒写入数据量(KB) | 写流量 |
| %util | 磁盘繁忙度(%) | 综合负载指标 |
(3) 重点关注
-
设备:vda/sda(主磁盘)
-
读写流量:rkB/s(读),wkB/s(写)
-
繁忙度:%util(百分比,上限100%)
(4) 评判标准
-
繁忙度阈值:< 90%
-
超过90%:磁盘接近极限
-
读/写流量:无统一标准,取决于磁盘性能
3. 磁盘工作原理
-
类比:老式唱片机(磁盘+探针)
-
寻址:移动磁头到数据位置
-
复杂度:机械结构复杂,速度受限

4. 磁盘空间监控:df
(1) 常用命令
df -h # 友好显示(自动转换单位)
(2) 关键信息
-
重点关注 :
/(根目录)挂载点 -
字段:
-
Size:总空间(17GB)
-
Used:已使用(13GB)
-
Avail:可用空间(4.9GB)
-
Use%:使用率(72%)
-
(3) 监控重要性
-
空间不足影响:程序无法运行
-
压测风险:长时间测试产生大量日志
-
建议:测试前清理磁盘空间
5. 综合监控:vmstat
(1) 命令格式
vmstat 1 # 每秒刷新
(2) 独特价值:Swap实时监控
| 字段 | 含义 | 监控意义 |
|---|---|---|
| si | swap in(从磁盘→内存) | 正在发生swap |
| so | swap out(从内存→磁盘) | 正在发生swap |
(3) 关键判断
-
si/so ≠ 0:正在发生内存交换
-
连续发生:内存严重不足
-
偶尔发生:可能正常
三、网络监控
1. 安装命令
yum install -y net-tools # 安装网络工具
2. 网络流量监控:sar
(1) 常用命令
sar -n DEV 1 1000 # 监控网卡,每秒刷新,统计1000次
(2) 关键字段
| 字段 | 含义 | 对应关系 |
|---|---|---|
| IFACE | 网卡名称 | eth0/ens33 |
| rxkB/s | 接收流量(KB/s) | 服务器上行 |
| txkB/s | 发送流量(KB/s) | 服务器下行 |
(3) 网卡识别
-
物理网卡:eth0、ens33、en开头
-
查看命令 :
ip addr -
虚拟网卡:docker创建的虚拟网卡(忽略)
3. 网络瓶颈分析
(1) 网络环境架构
客户端 → 路由器 → 交换机 → 服务器
(2) 各环节限制
| 环节 | 典型限制 | 实际速率 |
|---|---|---|
| 客户端-路由器 | 千兆路由器 | 1000Mb/s = 125MB/s |
| 路由器-交换机 | 交换机吞吐量 | 万兆(1250MB/s) |
| 公网带宽 | 运营商限制 | 200Mb/s = 25MB/s |
| 服务器网卡 | 千兆网卡 | 1000Mb/s = 125MB/s |
(3) 瓶颈原理
-
木桶效应:最慢环节决定整体上限
-
公网场景:带宽限制为主(如25MB/s)
-
内网场景:网卡/路由器限制为主(125MB/s)
(4) 监控位置
-
监控点:服务器网卡(sar命令)
-
原因:方便监控,其他节点难以访问
-
判断:流量接近上限 → 网络瓶颈
4. 实践建议
-
公网压测:容易遇到网络瓶颈
-
内网压测:几乎不会遇到网络瓶颈
-
路由器选择:千兆路由器匹配高带宽

四、监控指标评判标准
1. CPU
-
监控指标:CPU使用率
-
健康阈值:< 80%
-
超过阈值:系统变慢,需要处理
2. 内存
-
监控指标:内存使用率
-
健康阈值:< 80%
-
风险:内存不足导致程序崩溃/蓝屏
3. 磁盘
-
监控指标:磁盘繁忙度(%util)
-
健康阈值:< 90%
-
风险:磁盘慢导致程序响应慢
4. 网络
-
监控指标:网络流量
-
判断方法:当前流量 vs 网络上限
-
瓶颈判断:流量接近上限
-
复杂性:需要了解网络环境架构