如何计算内存实际剩余多少
在 Linux(包括 AlmaLinux)中,计算实际可用内存不能单纯看 “free” 一列,而是要考虑缓存和 buffer 等因素。
实际可用内存 = free + buffers + cached
或者直接看 available 字段
free -h
输出示例:
total used free shared buff/cache available
Mem: 7.6G 2.1G 1.2G 90M 4.3G 5.0G
各列说明:
- free:真正空闲的内存(没被用过的)
- buff/cache:被系统缓存和 buffer 使用的内存,可被回收
- available:最重要,表示实际可用于新程序的内存(包括缓存中可以释放的)
👉 结论: available 才是你要的“实际剩余内存”。
top 启动后看第一屏 Mem 行的 avail Mem:
top
htop 更美观,建议安装:
sudo dnf install -y htop
htop
vmstat -s
或:
vmstat 1
可查看内存每秒变化(单位为 KB)。
cat /proc/meminfo
关键字段说明:
- MemTotal:总内存
- MemFree:空闲内存
- Buffers / Cached:可回收缓存
- MemAvailable:实际可用内存(推荐看)
grep MemAvailable /proc/meminfo
| 目的 | 推荐命令 |
|---|---|
| 查看实际剩余内存 | free -h(看 available) |
| 实时监控内存使用 | top / htop |
| 更详细统计 | cat /proc/meminfo |
| 系统性能快照 | vmstat 1 |