[动态内存的组织方法]动态内存全部在伙伴系统,保留页框池和页框高速缓存中吗?

发布于 2022-10-15 04:19:25 字数 505 浏览 19 评论 0

各位好:
       动态内存的管理方法很多,包括伙伴系统,页框高速缓存,slab等。但最基本的动态内存组织方法仅为伙伴系统,保留页框池和页框高速缓存是吗?其中保留页框池用于原子申请,页框高速缓存用于请求大小为1个页面的内存分配。
       我做了一个实验:遍历3个zone中的所有的伙伴系统内存块,记录下页框个数。在我的系统中,这个数量为4345。保留页框池min_free_kbytes的值为3789。通过表里zone的pcp获得页框高速缓存的大小:478。总数为:8612。  然后再遍历mem_map数组,记录下page_count为0的页面,这个数量为187424。动态内存中页面的总数量应该为509697。
       因此,我有了一点疑惑,为什么大部分没有使用的页不在伙伴系统中?而且,伙伴系统中仅维护了大约17M的动态内存。那么绝大部分没有被使用的页都通过什么来维护?
Regards Arethe

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

水染的天色ゝ 2022-10-22 04:19:25

期盼高手...

oО清风挽发oО 2022-10-22 04:19:25

Buddy System位于最底层,其它的都是建立于其上的高层次内存管理抽象。对上层的内存使用者来说,某些内存归还到了这些高层次的内存管理部件,是可用的。而对于Buddy System来说,它们是被分出去的。

囚我心虐我身 2022-10-22 04:19:25

期待  chenrvmldd兄 解答

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文