Dlaczego garbage collector nie robi bardziej agresywnego zbierania śmieci wcześniej niż jednocyfrowa sterty za darmo%?

Oto moje ustawienia sterty Sun Hotspot 1.6 JVM w WebLogic 11g:

-Xms10g -Xmx10g -XX:MaxPermSize=256m -XX:+UseParNewGC -XX:ParallelGCThreads=2 -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:ConcGCThreads=2

To, co widzę na wykresie% sterty JVM za darmo przez 24 godziny, jest w zasadzie% wolnego od sterty, spada w wolnym tempie, dopóki nie osiągniemy około 9% (trwa około 24 godzin). Następnie system uruchamia to, co wygląda jak pełne gc i wraca do 97%.

Czy jest jakieś ustawienie, które powinienem dodać / zmodyfikować, aby poinformować JVM, aby zrobiło to pełne GC wcześniej, niż gdy otrzymamy poniżej 10% sterty za darmo? na przykład jakieś ustawienie proporcji?

Nie powoduje problemów, na które czeka aż do uzyskania 9% darmowości, ale utrudnia monitorowanie / alarmowanie. Idealnie byłoby, gdybyśmy przez cały czas pozostawali na poziomie wyższym niż 30% za darmo, tak że jeśli spadniemy do tych jednocyfrowych liczb, wiemy, że istnieje jakiś problem, np. wyciek pamięci.

questionAnswers(2)

yourAnswerToTheQuestion