1

我使用 Java 基准测试 (SPECJbb),但观察到启用大页面(每页 2M)时性能会有所下降。我们的服务器是NUMA基于架构的,有 80 个内核(启用 HT 时为 160 个逻辑 CPU)和260G内存。

基准测试消耗大约200G内存,所以我在内核大页面池中分配了 200G 大。但性能6%~8%下降。我想我应该有一些性能提升,因为这个基准测试使用了 200G 内存。

我的问题是,在什么情况下,使用大页面会降低性能?我们的操作系统是RHEL6.3,我尝试了 HotSpot JDK 1.6.381.6.37,这两个版本我都发现了这种退化。谢谢。

4

1 回答 1

1

大页面通常会带来高达 5% 的性能提升。

您应该检查是否正确分配了大页面:

  • 查看cat /proc/meminfo并检查实际的大页面分配大小
  • 你的堆有多大?你用过这个-XX:+UseLargePages选项吗?看到JVM设法使用大页面,如果有任何问题,JVM输出日志中会有警告

此外,LargePages + NUMA 架构可能存在问题。每个核心有多少内存?看:

于 2013-01-11T18:57:40.210 回答