0

我在需要大量内存的 EC2 实例上运行 Java。(在 AMI 版本 2013.09 上运行)

我想在我的 JVM 启动选项中使用 -XX:+UseLargePages。

当我做 cat /proc/vmstat | grep thp 我看到:thp_fault_alloc 0 thp_fault_fallback 0 thp_collapse_alloc 0 thp_collapse_alloc_failed 0 thp_split 0

另外,当我做 sudo cat /proc/vmstat | grep 巨大的我看到:nr_anon_transparent_hugepages 0

这是否意味着透明大页面已经在我的实例上处于活动状态?

我还应该在我的实例上配置什么(内核、安全组、安全限制等)?

目前,当我执行“java -XX:+UseLargePages -version”来测试该选项时,我的 ssh 会话将挂起,因为 java 命令永远不会返回。

问候

迪迪埃

4

1 回答 1

2

遇到同样的问题,在寻找原因时,我看到一篇文章(下面的链接),其中指出:“EC2 实例基本上有两种虚拟化:半虚拟化 (PVM) 和硬件虚拟化 (HVM)。绝大多数的 EC2 AMI 使用 PVM,但由于各种原因,只有使用 HVM 的 EC2 实例才能分配大页面。”

提供了一个表,其中包含在您的情况下可能支持大页面的 EC2 实例类型。我自己没有尝试过,但我希望这会有所帮助。

“Amazon EC2 上 Oracle 的 Linux 巨页:可能,但不方便、简单或完全受支持”

于 2013-12-31T18:03:00.343 回答