Sto utilizzando le opzioni GC XX:+UseParNewGC-XX:+UseConcMarkSweepGC
per la mia applicazione.Come rendere la memoria di rilascio JVM su OS
Come molti di voi già stanno vivendo, JVM è in grado di aumentare l'heap fino alla dimensione massima dell'heap, tuttavia non rilascia la memoria sul sistema operativo. Mi sono imbattuto in -XX:MaxHeapFreeRatio
e -XX:MinHeapFreeRatio
ma questi sono ignorati per Parallel Garbage Collectors.
Ci sono opzioni speciali per forzare la memoria di rilascio JVM su OS per la combinazione -XX:MaxHeapFreeRatio and -XX:MinHeapFreeRatio
.
Bene .. Anche se si trovano opzioni per queste cose, non è garantito che funzionino tra le architetture. – TheLostMind
@TheLostMind - Sono '-XX: MaxHeapFreeRatio' e' -XX: MinHeapFreeRatio' garantiti per funzionare su JVM Linux a 64 bit Non sono sicuro se sopra i parametri '-XX: MaxHeapFreeRatio' e' -XX: MinHeapFreeRatio' sono solo per i netturbini seriali o no. Sto trovando citazioni contraddittorie per quello. – Pushkar
XX: + UseParNewGC con il rapporto di heap libero massimo e minimo rilascia nuovamente la memoria al sistema operativo in java 1.8.0_73 in poi per la configurazione di Windows a 64 bit almeno. Se non lo si chiede esplicitamente a GC, tuttavia, potrebbe decidere di farlo solo se il sistema operativo è sotto pressione di memoria. Infine, non so se l'opzione UseConcMarkSweepGC cambi nulla di tutto ciò. – nsandersen