這個文章與 Oracle 的 Hotspot JVM 虛擬機的內存管理爲參照的。這些建議是咱們在對大的 Confluence 安裝實例用戶進行諮詢服務的時候獲得的最佳配置方案。html
請不要在 Confluence 中使用 Concurrent Mark Sweep (CMS) ,除非你獲得了 Atlassian 支持小組的明確說明。這個須要額外的手工調整和測試,一般這個會下降系統的性能。git
使用一個小的 heap
在不出現 OutOfMemory 錯誤的狀況下,保持你的 heap 儘量的小。當你遇到了 OutOfMemory 錯誤,須要增長 heap 的時候,咱們推薦你按照 512MB 到 1 GB 的順序進行增長。若是你還持續的得到 OutOfMemory 錯誤,那麼你能夠考慮再繼續增長 512 MB 或者 1GB。你能夠持續進行增長,直到你再也不出現 OutOfMemory 錯誤。不要嘗試一次增長到位,這樣可能會致使垃圾收集時間的增加。github
刪除全部老的收集參數
只有在徹底的 GC 後,JVM 將會從新定義 Eden, Survivor 等參數的大小,這個大小是基於 GC 處理來肯定的。這個將會保證 GC 處理程序可以處理真實的垃圾狀況和垃圾對象。在絕大部分狀況下,可以保證 JVM 爲你提供更好的性能。app
若是你的 JVM 中添加了參數,當在垃圾收集的時候遇到了困難。那麼咱們建議你刪除掉你在 GC 前添加的參數,除非你添加的這些參數是爲了解決一些特定的問題。你如今應該考慮如何避免在 GC 中出現的問題,而不是致使其餘的問題。ide
檢查你的虛擬機(VM)資源
若是你運行 Confluence 在一個 VM 上的話,檢查這個 VM 沒有使用 swap 文件。工具
若是這個 VM 了使用了 swap 文件,那麼當 JVM 進行垃圾收集的時候,將會把這些 swap 文件載入到內存後清理他們,這個將會致使垃圾清理進程的長時間暫停。爲了不使用 swapping, ballooning 和 bursting,將這些信息載入到 VM 的內存中。性能
手動清理
若是你按照上面的說明進行了操做後還遇到了一些困難,可是你仍是但願可以提升系統的性能,咱們推薦你使用Garbage Collection (GC) Tuning Guide 頁面提供的方法。這個頁面將會知道你如何達到你本身指望的性能指標(throughput/footprint/latency)和如何進行調整。測試
查看你的垃圾收集日誌
How to Enable Garbage Collection (GC) Logging 和使用相似 Chewiebug's GCViewer 工具來查看結果的日誌。ui