搜索

12.3. 使用 mlockall ()系统调用锁定所有映射的页面

download PDF

要使用 mlockall ()和 munlockall () 锁定和解锁实时内存,请将 标志 参数设置为 0 或恒定s: MCL_CURRENTMCL_FUTURE。使用 MCL_FUTURE 时,将来的系统调用(如 mmap2 ()sbrk2 ()malloc3 () )可能会失败,因为它导致锁定的字节数超过允许的上限。

先决条件

  • 有 root 权限。

流程

  • 使用 mlockall ()munlockall () 实时系统调用:

    • 使用 mlockall () 锁定所有映射的页面:

      #include <sys/mman.h>
      int mlockall (int flags)
    • 使用 munlockall () 解除所有映射的页面:

      #include <sys/mman.h>
      int munlockall (void)

其他资源

  • capabilities(7) man page
  • mlock(2) man page
  • mlock(3) man page
  • move_pages(2) man page
  • posix_memalign(3) man page
  • posix_memalign(3p) man page
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.