假设我在/mnt/hugepages
安装hugepage,然后两个应用程序open()
然后mmap()
安装到同一个hugepage。
在一次崩溃之后,另一次崩溃之后,我注意到hugepage仍然在内部分配,close()
还显示hugepage已被占用。然后,我手动删除该文件(/hugepage),munmap()
仍然显示hugepage已被占用。然后,我终止了剩下的申请。最后,/mnt/hugepages
显示hugepage不再被占用。
现在我的问题是,在这种情况下,什么是正确的方式来释放hugepage,而不杀死之前所有对页面进行mmap的应用程序?
我确实读过这个post。
但我的帖子不同,我不想杀掉所有的应用程序,而是尽快发布hugepage,我不想卸载。
谢谢!
最佳答案
要删除文件,需要取消映射所有映射,关闭所有文件描述符,并取消链接所有名称。
您需要在文件上调用unlink()
。
关于c - 释放巨大页面的正确方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56546543/