You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何proc/meminfo中Active(file)+Inactive(file)不等于Cached?

Linux页缓存指标差异解析

内存状态截图

相关指标定义

  • Cached:页缓存(pagecache)中的内存,涵盖文件数据缓存、目录项、索引节点等多种文件系统相关缓存。
  • Active(file):最近频繁使用的页缓存内存,系统会优先保留以提升性能,仅内存紧张时才会被回收。
  • Inactive(file):近期较少使用的页缓存内存,属于可回收范畴,回收后对性能影响较小。

差异产生的原因

你观察到的Active(file) + Inactive(file) ≠ Cached的数值差异,主要来自以下几点:

  1. Cached包含更多元数据缓存
    Cached的统计范围不仅包含普通文件的页缓存(即Active(file)与Inactive(file)的总和),还包含目录项缓存(dentry cache)、索引节点缓存(inode cache)等文件系统元数据缓存,这些元数据缓存不会被计入Active(file)或Inactive(file)分类,因此会让Cached的数值更大。
  2. 统计层面的临时延迟
    系统内存指标的统计存在短暂延迟,比如刚创建或释放的缓存,可能已被计入Cached,但还未完成Active/Inactive的归类,这会造成临时的数值不匹配。
  3. 特殊文件缓存的归类例外
    像tmpfs中的文件、部分设备文件这类特殊文件的缓存,会被计入Cached,但不会划分到Active(file)或Inactive(file)中,这也会导致两者总和与Cached不等。

内容的提问来源于stack exchange,提问作者Betflop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 16:05:06