Linux内存管理系统中的内存立即可用

Linux内存管理系统中的内存立即可用

free -h这是我的笔记本电脑上命令的输出Ubuntu 18.04

$ free -hg
              total        used        free      shared  buff/cache   available
Mem:            11G        4,2G        3,4G        801M        4,0G        6,3G
Swap:           11G          0B         11G

据我了解,经过简短的研究后,主要使用 stackexchange 网站(例如这个阐述free),和available内存之间的主要区别在于,free实际上是freeavailable free如果需要的话就会变成。

available将内存分配给创建相关需求的任务的过程是什么?

刷新脏页和释放cache(将释放的内存分配给需要它的进程)是否构成此类进程的一部分?

在这种情况下,我认为available应该始终是 > cache

答案1

比这更复杂一点。可用内存是内存立即地可回收,IE可以在不丢失数据的情况下重新利用,减去系统交换的某些阈值。这不包括脏页,因为它们需要被写出,这可能需要很多时间。

详情请参阅上面的链接。特别是,阈值的存在以及“buff/cache”包含脏页的事实意味着无法保证可用内存大于“buff/cache”下给出的量。

相关内容