Снижение производительности с большими страницами

Я играю с тестом Java (SPECJbb), но заметил некоторое снижение производительности при включении больших страниц (2M на страницу). Наш сервер NUMA основанный на арке, имеет 80 ядер (160 логических процессоров при включенной HT) и 260G объем памяти.

Тест потребляет около 200G памяти, поэтому я выделил 200G большой в ядре большой пул страниц. Но производительность 6%~8% снижение. Я думаю, что у меня должно быть некоторое увеличение производительности, потому что этот тест использовал память 200G.

Мой вопрос о том, в какой ситуации использование большой страницы ухудшит производительность? Наша ОС это RHEL6.3 и я попробовал HotSpot JDK 1.6.38 а также 1.6.37Обе эти две версии я обнаружил такую ​​деградацию. Благодарю.

1 ответ

Решение

Большие страницы обычно повышают производительность до 5%.

Вы должны проверить, правильно ли размещены большие страницы:

  • увидеть cat /proc/meminfo и проверьте фактический размер размещения больших страниц
  • Насколько велика твоя куча? Вы использовали -XX:+UseLargePages вариант? Обратите внимание, что JVM удалось использовать большие страницы, в журнале вывода JVM будет предупреждение, если возникла проблема

Также может возникнуть проблема с архитектурой LargePages + NUMA. Сколько памяти есть для каждого ядра? Увидеть:

Другие вопросы по тегам