gpt4 book ai didi

c++ - 释放锁定的内存是否会解锁相应的页面?

转载 作者:太空宇宙 更新时间:2023-11-04 02:57:11 25 4
gpt4 key购买 nike

很清楚如何结合使用 mlockall()malloc() 来锁定进程在其生命周期内分配的所有页面。通过阅读文档,我不清楚释放已锁定内存是否意味着相应页面的自动解锁。

最佳答案

如果 free 将内存返回给系统(即它是用 mmap 分配的,将用 munmap 释放),那么锁未映射时将自动删除。这通常是大分配的情况。

如果 free 将内存返回到进程内管理的堆中,则锁将保留。这通常是小额分配的情况。

在 GNU/Linux 上,您可以使用 mallopt 获取和设置使用 mmap 的分配阈值;默认值(至少在我的电脑上)是 128kb。在其他 Unix 风格上,如果您需要那种级别的控制,您可能需要直接使用 mmap

关于c++ - 释放锁定的内存是否会解锁相应的页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16056617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com