gpt4 book ai didi

java - JVM大页面支持: is memory wasted if large pages is larger than heap?

转载 作者:行者123 更新时间:2023-11-30 06:59:11 25 4
gpt4 key购买 nike

我刚刚找到了一个 JVM 配置,其中配置的大页面大小远大于为 JVM 分配的堆大小。

我在下面添加的配置适用于 Websphere Application Server,但对于使用大页面的任何其他 Java 应用程序来说,问题都是相同的。通常,使用 -Xlp ( IBM Knowledge Center- Tuning Linux systems ) 开关为 IBM JRE 启用大页面,使用 -XX:+UseLargePages ( Oracle: Java Support for Large Memory Pages ) 开关为 Oracle 启用大页面

当前配置显示

vm.nr_hugepages = 4096 
Hugepagesize: 2048 kB (from meminfo)
-Xmx 6144 (for java process)

JVM 启动时启用了 -Xlp。

我假设 vm.nr_hugepages 8GB 被固定,因此不可用于其他进程。但 Java 只要求 6GB 的堆空间。

谁能解释一下另外 2GB 会发生什么吗?

提前致谢!

最佳答案

剩余的 2GB 大页面固定在连续的实内存中,等待应用程序使用它们(JVM 配置本身不会将堆增长到足以使用剩余的大页面)。除了潜在的调用者之外,该内存对任何其他人都无法使用。

Huge pages kernel options

hugepages

Defines the number of persistent huge pages configured inthe kernel at boot time. The default value is 0. It is only possibleto allocate (or deallocate) huge pages if there are sufficientphysically contiguous free pages in the system. Pages reserved by thisparameter cannot be used for other purposes.

在后来的 Linux 版本中,有一个“透明大页面”选项,它试图通过将不知情的应用程序移动到可能存在的任何闲置空间来解决其中一些问题,但它似乎并没有得到太多的喜爱。

关于java - JVM大页面支持: is memory wasted if large pages is larger than heap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41247659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com