关于这个问题,我并没有找到太多有用的信息。希望能有人提供帮助。我的目标是启动一个100GB的Java堆,作为大数据缓存。为了避免与文件系统缓存等产生冲突,并且性能更好,我将其分配在大页中。
我已经保留了51,200个2MB的大页,一切都正常启动。然而,当我杀死进程并重新启动时,Linux会将其中一些页面保留为“rsvd”状态。
# less /proc/meminfo | grep Hug
AnonHugePages: 0 kB
HugePages_Total: 52000
HugePages_Free: 50952
HugePages_Rsvd: 1634
HugePages_Surp: 0
Hugepagesize: 2048 kB
据我所知,系统中没有其他配置请求或保留这些页面的内容。Linux是否提供一种方法让我查看是什么占用了这些保留空间并且可以取消这些保留?
从我找到的所有谷歌信息来看,它们实际上并没有被使用,只是Linux将它们保留,但有趣的是当我重新启动我的大型JVM时,却不允许我使用它们。
非常感谢您的帮助。