
# free和available说明
当我们在cat /proc/meminfo的时候，经常会关注MemFree和MemAvailable字段，下面对其进行说明。
1. MemFree：表示当前完全没有被使用的物理内存。
   - 它来自伙伴系统（buddy allocator）中未分配的页面数量。
   
   - 不包括用作 page cache、slab 缓存、buffer 的内存。
    
2. MemAvailable：内核估算的应用程序还能用的内存（考虑了回收缓存的可能性），包含：
   - MemFree。
   
   - 大部分的 page cache（可回收的）。
   
   - 可回收的 slab 内存。
   
   - 还会考虑 min_free_kbytes 等保留内存阈值。
     ![](https://support.huaweicloud.com/hce_faq/public_sys-resources/caution_3.0-zh-cn.png)
     MemFree 小 ≠ 系统要 OOM，只要有足够的可回收内存和 swap，MemFree 少也不会 OOM，看 OOM 风险，要看 MemAvailable。
     
    
 
