2016-08-18 61 views
3

我在Ubuntu 14.04.5 LTS運行Atlassian的到位桶在Tomcat 8.0.24和Java 1.8.0 31-B13(64位) ,內核3.13.0-88-通用。 VM具有的存儲器16GBytes和4個虛擬CPU爪哇 - PS OldGen全,PS生存空間空,PS伊甸園空間填充和GC'ing

我已經修改是堆參數,目前-Xms3072m -Xmx4096m唯一的java參數。我沒有改變比率或其他堆參數

我正在使用探測器來查看內部。在重新啓動GC之後,PS Eden Space和PS Survivor Space重新啓動後,PS Old Gen逐漸填充到2.67GBytes,併發生了一次完整的GC。

但是後預期行爲的幾天,PS老代罷了,但沒有發生GC,然後PS生存空間保持爲空,只有PS伊甸園空間填充和GC'ing。在觀察到這種行爲之後的某個時候,響應時間變慢,並最終因內存(堆)錯誤而崩潰。

我一直在逐漸增加堆空間,但我清醒地意識到,現在是相當大的,充滿地方選區導致前端,而它發生上報停電幾秒鐘。

我的問題是:

  1. 我應該繼續增加堆,希望這將解決這個問題?
  2. 是否有其他參數(如各種比率)可能有助於解決此問題?
  3. 我應該冒死亡,並建議我們把Bitbucket當作瓦罐? :-)

回答

0

我建議聯繫我們的支持團隊support.atlassian.com,他們可以協助調整您的實例。

增加堆大小可能會加劇問題而不是解決問題,因此最好查看它爲什麼會發生。

+0

是的我知道在Java中拋出內存並不一定有預期的效果,這就是爲什麼我逐漸增加堆。 它定期耗盡堆。 –