首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JVM大页面支持:如果大页大于堆,是否浪费内存?

JVM大页面支持:如果大页大于堆,是否浪费内存?
EN

Stack Overflow用户
提问于 2016-12-20 17:05:31
回答 1查看 1.3K关注 0票数 1

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

下面我添加的配置是针对Websphere Application Server的,但是对于使用大页面的任何其他Java应用程序来说,问题都是一样的。通常,使用-Xlp (IBM知识中心-优化Linux系统)开关的IBM和使用-XX:+UseLargePages (Oracle: Java对大内存页的支持)的Oracle都启用了大页面。

当前配置显示

代码语言:javascript
复制
vm.nr_hugepages = 4096 
Hugepagesize: 2048 kB (from meminfo)
-Xmx 6144 (for java process)

JVM从启用-Xlp开始。

我假设通过vm.nr_hugepages,8GB是固定的,因此对其他进程不可用。但是Java只要求6GB的Heap。

有人能解释一下其他2GB的情况吗?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-21 13:04:31

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

大型页面内核选项 抱页 定义在启动时配置在内核中的持久巨大页数。默认值为0。只有在系统中有足够的物理上连续的空闲页时,才有可能分配(或释放)巨大的页面。此参数保留的页不能用于其他目的。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41247659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档