Qual è il GC predefinito utilizzato in Java 1.7 (45) su Linux
La nostra JVM è HotSpot-Server a 64 bit (modalità mista) su Linux.
Guardando i registri GC sembra che ParallelGC sia l'impostazione predefinita. Perché CMS non è il GC algo predefinito? È dovuto alla mancanza di compattazione? Ma sarebbe il caso anche di parallelGC.
Notiamo che un FullGC non viene attivato anche quando l'heap raggiunge il 75% di capacità. Quando viene attivato un GC completo per il GC predefinito in java 1.7?
1 answers
Guardando i registri GC sembra che ParallelGC sia l'impostazione predefinita.
È stato da quando è stato aggiunto.
Perché CMS non è il GC algo predefinito?
ParallelGC è il più veloce per il throughput, il più basso utilizzo della CPU e il più facile da usare.
È dovuto alla mancanza di compattazione?
Questo è un problema.
Ma questo sarebbe il caso anche di parallelGC.
Non è un problema per questo GC in quanto deframmentare.
Notiamo che un FullGC non viene attivato anche quando l'heap raggiunge il 75% della capacità. Quando viene attivato un GC completo per il GC predefinito in java 1.7?
Quando la JVM non è in grado di allocare memoria, anche se CMS è abilitato. (O quando il sistema.gc () lo attiva per fare una raccolta completa) CMS attiva solo una raccolta principale dello spazio di ruolo quando viene eseguito. Non c'è CMS per FullGC.