我使用Java基准测试(SPECJbb),但观察到大页面(每页2M)启用时性能下降。我们的服务器基于NUMA
arch,具有80个内核(启用HT时为160个逻辑cpu)和260G
内存。
基准测试消耗大约200G
内存,所以我在内核大页面池中分配了200G大。但性能下降6%~8%
。我认为我应该有一些性能提升,因为这个基准测试使用了200G内存。
我的问题是,在什么情况下,使用大页面会降低性能?
我们的操作系统是RHEL6.3
,我尝试了H otSpot JDK 1.6.38
和1.6.37
,这两个版本都发现了这种降级。感谢。
答案 0 :(得分:1)
大页面通常可以带来高达5%的性能提升。
您应该检查是否正确分配了大页面:
cat /proc/meminfo
并检查实际的大页面分配大小-XX:+UseLargePages
选项了吗?看到JVM设法使用大页面,如果有任何问题,JVM输出日志中会出现警告此外,LargePages + NUMA架构可能存在问题。每个核心有多少内存?参见: