mlockall和共享库

时间:2019-04-09 18:52:19

标签: c linux kernel

我对mlockall手册中出现的以下句子感到困惑。

  

mlockall()锁定映射到调用进程地址空间的所有页面。这包括代码,数据和堆栈段的页面,以及共享库,用户空间内核数据,共享内存和内存映射文件。

这是否意味着mlockall(MCL_CURRENT | MCL_FUTURE)将预先读取共享库的所有页面并将它们在调用函数时锁定到内存中?还是流程真正需要这些页面时?

1 个答案:

答案 0 :(得分:0)

不。仅在流程需要页面时。 mlockall唯一要做的就是阻止页面加载到交换空间中(交换)。