我們的服務器具有128GB的RAM和64個內核,在CentOS 6.3上運行Tomcat 7.0.30和Oracle jdk1.6.0_38。優化Tomcat /垃圾收集
每隔60分鐘我們就會看到垃圾收集耗時45-60秒。添加-XX:-UseConcMarkSweepGC將頁面加載時間增加了大約10%,但將其減少到了大約3秒,這是可接受的權衡。
我們的配置:
-Xms30g -Xmx30g -XX:PermSize=8g -XX:MaxPermSize=8g -Xss256k -XX:-UseConcMarkSweepGC
我們設置堆爲30 GB,保持32位尋址(我讀了上面的32 GB的64位尋址佔用更多的內存,所以你必須去到約48 GB看到改進)。
使用visualgc中我可以看到伊甸空間通過每30騎自行車 - 60分鐘,但與倖存者0,倖存者1,老根,和彼爾姆將軍沒有太大的情況
我們有一個強大的服務器。我們還可以通過其他哪些優化來進一步縮短3秒的GC時間?
任何改善性能或縮放比例的建議?
任何其他輸出或配置信息,這將有助於?
'-XX:-UseConcMarkSweepGC'默認情況下不是這樣的,也許你打算用'-XX:+ UseConcMarkSweepGC'打開它。這對任何情況都不會影響伊甸園的大小。 –
找到你創建這麼多對象的地方,看看你可以在哪裏優化它與池和/或緩存 –
如果你看到舊的活動很少,爲什麼你得到完整的GC。我懷疑當你不需要它時會觸發它。 –