如果同一进程锁定两个地址共享内存中同一页面的一部分。解锁一个地址会解锁共享页面吗?在最近版本的Linux内核允许非特权进程锁定内存之后,关于锁堆栈的文档还不清楚。
答案 0 :(得分:2)
内存锁没有堆叠,也就是说,通过调用mlock()或mlockall()多次锁定的页面将通过一次调用munlock()获得相应范围的解锁,或者通过munlockall解锁()。
映射到多个位置或通过多个进程的页面只要至少锁定在一个位置或至少一个进程,就会保持锁定在RAM中。
参考:mlock(2) man page的注释。