(承諾和最高線是相同的)爲什麼GC甚至發生在有大量未使用的內存的左
我在看的內存使用量在一NewRelic的Java應用程序。這裏有幾個問題:
#1
的committed PS Survivor Space Heap
多樣過去幾天。但是它應該是一個常量,因爲它是由JVM配置的?
#2
從我所瞭解,當有一個垃圾收集堆內存應該減少。 Eden
的內存可能會減少,當一個主要的gc或次要的gc發生時,而Old
的內存可能會減少,當一個主要的gc發生時。
但是,如果你看看Old
內存使用情況,在6月6日到7日之間的某段時間,內存升高,然後降低。這應該代表一個重大的gc發生,對吧?但是,仍有大量未使用的內存。它似乎並沒有達到極限。那麼主要的gc如何被觸發?內存使用量相同,但從未達到極限,但仍然下降。
應用程序從其他地方獲取文件。這個文件可能很大,並在內存中處理。這可以解釋上述問題嗎?
什麼是正在使用的JVM參數? – Fairoz