一尘不染

如何从崩溃的应用程序中释放大页面

linux

我有一个使用巨大页面的应用程序,该应用程序由于某些错误突然崩溃。崩溃后,由于应用程序无法正确释放大页面,因此sys文件系统中的免费大页面数量不会增加。

$ sudo cat /sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages 
0
$ sudo cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages 
1024

有没有办法强制释放大页面?


阅读 400

收藏
2020-06-07

共1个答案

一尘不染

HugeTLB可以用于共享内存(Mark J.
Bobak的答案可以解决该问题),也可以将应用程序mmaps文件创建在hugetlb文件系统中。如果应用程序崩溃而未删除这些文件,它们将继续存在并保持相应的内存“已分配”。

检查hugeTLB文件系统,查看应用程序是否有剩余文件。删除它们将释放内存。

2020-06-07