1

如果同一进程锁定了内存中共享同一页的一部分的两个地址。解锁一个地址会解锁共享页面吗?在最新版本的 linux 内核允许非特权进程锁定内存之后,关于锁堆栈的文档对此非常不清楚。

4

1 回答 1

2
  • 内存锁不堆叠,也就是说,通过调用 mlock() 或 mlockall() 多次锁定的页面将通过对相应范围的单个调用 munlock() 或通过 munlockall() 解锁。

  • 映射到多个位置或由多个进程映射的页面只要至少在一个位置或至少一个进程被锁定,就会保持锁定在 RAM 中。

参考mlock(2) 手册页的注释。

于 2013-08-01T12:06:36.287 回答