我对mlockall手册中出现的以下句子感到有点困惑。
mlockall()锁定映射到调用进程的地址空间的所有页面。这包括代码页,数据和堆栈段,以及共享库,用户空间内核数据,共享内存和内存映射文件。
这是否意味着mlockall(MCL_CURRENT | MCL_FUTURE)会提前读取共享库的所有页面并在调用函数时将它们锁定到内存中?或者当流程实际需要这些页面时?
mlockall(MCL_CURRENT | MCL_FUTURE)
不。只是当流程需要页面时。 mlockall唯一能做的就是阻止页面加载到交换空间(交换)。
mlockall