【问题标题】:JVM large pages support: is memory wasted if large pages is larger than heap?JVM大页面支持:如果大页面大于堆,是否会浪费内存?
【发布时间】:2016-12-20 17:05:31
【问题描述】:

我刚刚找到一个JVM配置,配置的大页面的大小比JVM分配的堆大小要大得多。

我在下面添加的配置是针对 Websphere 应用程序服务器的,但是对于任何其他使用大页面的 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 只会为 Heap 申请 6GB。

谁能解释一下其他 2GB 会发生什么?

提前致谢!

【问题讨论】:

    标签: java memory websphere-liberty huge-pages


    【解决方案1】:

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

    大页面内核选项

    大页面

    定义配置的持久大页面的数量 启动时的内核。默认值为 0。仅可能 如果有足够的空间分配(或取消分配)大页面 系统中物理上连续的空闲页面。本站保留的页面 参数不能用于其他用途。

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

    【讨论】:

    • 谢谢Covener 我会调整配置的!
    猜你喜欢
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 2017-12-18
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    相关资源
    最近更新 更多