内存性能指标深度解析:从指标含义到瓶颈识别
内存性能是决定系统运行效率的核心因素之一,尤其是在高并发应用、数据库服务等场景中,内存不足或交换频繁会直接导致系统响应迟缓。以下是对内存关键性能指标的详细解析,帮助你全面理解内存状态并定位瓶颈。
核心内存性能指标
1. 空闲内存(Free Memory)
定义:系统中未被使用的物理内存,通常需要结合缓冲(Buffers)和缓存(Cache)计算实际可用内存。
计算方式:
实际可用内存 = 空闲内存(free) + 缓冲区(buffers) + 缓存(cache)
(Linux 内核会将未使用的内存用于缓存文件数据,这部分内存可被进程随时占用,因此需纳入 “可用” 范畴)。查看方式:
1
free -h # 其中 "available" 字段直接显示实际可用内存
瓶颈判断:若实际可用内存长期低于总内存的 10%,且频繁触发内存回收(可通过
dmesg | grep "out of memory"检查),说明内存资源紧张。
2. 交换空间使用(Swap Usage)
- 定义:当物理内存不足时,系统将部分不活跃的内存数据写入磁盘交换分区(Swap),以释放物理内存。相关指标包括:
- Swap 已用空间:已使用的交换分区大小(通过
free -h或swapon -s查看)。 - Swap In/Out 速率:每秒从交换分区读入内存(Swap In)和从内存写入交换分区(Swap Out)的页数(通过
vmstat查看si和so字段)。
- Swap 已用空间:已使用的交换分区大小(通过
- 瓶颈判断:
- 若 Swap 已用空间超过交换分区总容量的 50%,且
si/so长期大于 200-300 页 / 秒(1 页通常为 4KB),说明物理内存严重不足,系统频繁进行内存与磁盘的交换(“换页”)。 - 频繁换页会导致大量磁盘 IO,显著降低系统性能(磁盘速度远低于内存)。
- 若 Swap 已用空间超过交换分区总容量的 50%,且