0

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

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

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

我确实读过这篇文章

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

谢谢!

4

1 回答 1

1

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

您需要调用unlink()文件。

于 2019-06-13T16:10:45.057 回答