我有兩種類型的對象:長時間生活(緩存)和短暫生活(請求過程響應)的大規模應用。從理論上講,對於這種類型的應用程序,我認爲可以配置Young和Old空間,所以舊空間消耗是不變的,導致沒有Full GC。JVM和GC調優 - 理論沒有完整的GC
我已經更改了newSize-maxNewSize參數,但是,舊堆繼續上升直到完全GC。每次完整GC後,消耗降至20%(緩存佔用20%)。出於某種原因,我的物體進入舊空間。我有兩個犯罪嫌疑人爲什麼被移動到舊空間:
每這篇文章:http://chaoticjava.com/posts/gc-tips-and-memory-leaks/如果你有大的對象分配它告訴那些直接去舊空間。這是真的,如果是的話,是否有可以設置年輕空間的對象大小閾值的JVM Option參數?
如果我正確理解了這個過程,那麼在移動到舊節之前,對象在「從 - 從生存」部分之間切換。在移動到舊空間之前,有沒有可以設置To和From之間的切換次數的參數?
其他提示?
感謝, 阿馬爾
WhiteFang34我是否需要刪除此選項:-Dsun.rmi.dgc。 client.gcInterval = 3600000和-Dsun.rmi.dgc.server.gcInterval = 3600000從我的JVM參數如果我該怎麼嘗試你的params? – Eldar 2013-08-16 05:57:03
@ Yoldar-Zi你可以保留這些RMI選項。 – WhiteFang34 2013-08-16 07:05:17