Linux 会主动利用空闲内存保存文件页缓存,提高后续读取速度。这部分内存在应用需要时可以回收,因此 free 列接近零往往是正常状态。

关注 available

MemAvailable 估算了无需大量换页即可提供给新进程的内存。还应观察 swap 的持续换入换出、内存回收耗时、OOM 记录以及容器的工作集。

free -h
vmstat 1
dmesg -T | grep -i oom

单次快照容易误判,趋势更重要。如果 available 持续下降、si/so 长时间非零并伴随延迟上涨,才说明系统可能处在真实内存压力中。

容器环境还要区分宿主机内存和 cgroup 限额。宿主机很充裕并不意味着容器不会 OOM,应用内存上限也应给运行时、线程栈和页缓存留下空间。