我們最近將系統從Sun Java 5遷移到Java6服務器VM(特別是Linux 32位上的1.6.0_16)。我們注意到垃圾收集行爲已經發生了變化,從而觸發了我們的堆警告監控系統。從Java5移動到6後,GC行爲發生變化
堆使用情況的圖表表示多少「spikier」存儲器使用概要比我們用Java5中看到,與VM讓堆的使用得到運行一個大的GC之前非常高。它似乎不是應用系統本身的問題(它實際上從來沒有耗盡內存),但是當使用率峯值接近閾值時,它給監控系統偶爾出現虛假的「發熱」信號。
我們可以增加堆最大,希望穗不只是得到更大的,但我寧願找出是否有一種方法,我們可以調整這樣的JVM參數,我們得到更流暢個人資料,即使我們失去了一點表現。
我猜有可能是我們可以通過設置來實現這一一些-XX選項,但我an't看到文檔的任何這樣的事情。任何人都知道這樣的選擇?
這也很有趣,並涉及新的G1收藏家:http://blogs.sun.com/jonthecollector/entry/our_collectors – skaffman 2009-12-11 10:49:55