我对mlockall手册中出现的以下句子感到困惑。
mlockall()锁定映射到调用进程地址空间的所有页面。这包括代码,数据和堆栈段的页面,以及共享库,用户空间内核数据,共享内存和内存映射文件。
这是否意味着mlockall(MCL_CURRENT | MCL_FUTURE)
将预先读取共享库的所有页面并将它们在调用函数时锁定到内存中?还是流程真正需要这些页面时?
答案 0 :(得分:0)
不。仅在流程需要页面时。 mlockall
唯一要做的就是阻止页面加载到交换空间中(交换)。