为什么centos7 free命令输出可用值小于free值

为什么centos7 free命令输出可用值小于free值

我问一个问题,在我的centos7中,为什么有时可用价值低于免费

我认为可用值等于free+buff+cache,可用意味着启动应用程序时可以使用多少内存?

[root@izuf6dbkdletdzecvyepl8z ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            992         160         380         342         451          44
Swap:             0           0           0

   available
          Estimation of how much memory is available for starting new applications, without swapping. Unlike the data provided by the  cache  or  free
          fields,  this field takes into account page cache and also that not all reclaimable memory slabs will be reclaimed due to items being in use
          (MemAvailable in /proc/meminfo, available on kernels 3.14, emulated on kernels 2.6.27+, otherwise the same as free)

答案1

缓冲/缓存是进程(例如 Firefox)使用的 RAM,但该进程已结束。但系统现在实际上并不需要该内存,那么为什么要清除它呢?有人可能想将 Firefox 二进制文件和关联的库读回到内存中...因此它会缓存在 RAM 中,直到某个进程需要该 RAM 或重新启动 Firefox(或其他)二进制文件。

您可以通过重新启动系统来测试这一点,然后在桌面完全加载后等启动 Firefox 或 Chrome 或 Gimp 或其他一些较大的应用程序,并计算需要多长时间。打开后,将其关闭。等一三分钟,也许可以通过ps或其他实用程序检查它是否确实不再运行。然后启动计时器并再次启动。快得多,是吗?这是因为,它只是将缓存的 RAM 区域重新标记为“正在使用”,而不是将二进制文件/库重新读回 RAM。

相关内容