【问题标题】:Proper Way to Release a Hugepage?发布大页面的正确方法?
【发布时间】:2019-06-11 14:57:54
【问题描述】:

假设我在/mnt/hugepages 挂载大页面;然后两个应用程序 open()mmap() 到同一个大页面。

一个崩溃后,另一个close(),然后munmap(),我注意到hugepage仍然分配在/mnt/hugepages内部,numastat -vm也显示一个hugepage被占用。然后,我手动删除了那个文件(/hugepage),numastat -vm 仍然显示一个大页面被占用。然后,我杀死了剩余的应用程序。最后,numastat -vm 显示大页面不再被占用。

现在我的问题是在这种情况下释放大页面的正确方法是什么,而不会杀死以前对该页面进行映射的所有应用程序?

我确实读过这个post

但我的帖子不同,我不想杀死所有应用程序而是尽快释放大页面并且我不想卸载。

谢谢!

【问题讨论】:

    标签: c linux shared-memory mmap huge-pages


    【解决方案1】:

    要删除文件,您需要取消映射所有映射、关闭所有文件描述符并取消链接所有名称。

    您需要在文件上调用unlink()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-04
      • 2018-12-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 2011-11-09
      相关资源
      最近更新 更多