1
我使用Java基準測試(SPECJbb),但發現大頁面(每頁2M)啓用時性能下降。我們的服務器是基於arch的NUMA
,擁有80個內核(啓用HT時爲160個邏輯cpu)和260G
內存。大頁面性能下降
該基準消耗大約200G
內存,所以我在內核大頁面池中分配了200G大。但性能下降了6%~8%
。我想我應該有一些性能提升,因爲這個基準測試使用了200G內存。
我的問題是關於在什麼情況下使用大頁面會降低性能? 我們的操作系統是RHEL6.3
,我試過H otSpot JDK 1.6.38
和1.6.37
,這兩個版本都發現了這樣的降級。謝謝。
感謝您的回答!我也檢查了這個頁面http://linux-hacks.blogspot.com/2009/06/using-large-pages.html。作者說:「經過一些調試後,問題變成應用程序無法利用分配的大頁面(由於我有一些奇怪的環境;-))。」看起來我和他有同樣的症狀,但他沒有在博客中描述真實的原因。 – Sili
是的,這就是我所指的鏈接。您的JVM是否能夠開始處理您提供的大量頁面?你的JVM選項是什麼?並且,是否有任何錯誤消息? 'HugePages_Free'數字應該減少堆的大小。 –
嗨,我通過使用root運行我的基準來解決了這個問題。看來JVM使用SYS5風格的API分配巨大的頁面池,這需要root權限。 – Sili