Quel est le GC par défaut utilisé dans Java 1.7 (45) sous Linux


Notre JVM est un serveur HotSpot-64 bits (mode mixte) sous Linux.

En regardant les journaux du GC, il semble que ParallelGC soit la valeur par défaut. Pourquoi CMS n'est-il pas le GC algo par défaut? Est-ce dû au manque de compactage? Mais ce serait aussi le cas avec parallelGC.

Nous remarquons qu'un FullGC n'est pas tiré même lorsque le tas atteint 75% de capacité. Quand un GC complet est-il déclenché pour le GC par défaut dans java 1.7?

Author: aadidasu, 2014-05-07

1 answers

En regardant les journaux du GC, il semble que ParallelGC soit la valeur par défaut.

C'est depuis qu'il a été ajouté.

Pourquoi CMS n'est-il pas le GC algo par défaut?

ParallelGC est le plus rapide pour le débit, l'utilisation du PROCESSEUR la plus faible et le plus facile à utiliser.

Est-ce dû au manque de compactage?

, ce Qui est un problème.

Mais ce serait aussi le cas avec parallelGC.

Pas un tel problème pour ce GC comme il défragmenter.

Nous remarquons qu'un FullGC n'est pas tiré même lorsque le tas atteint 75% de capacité. Quand un GC complet est-il déclenché pour le GC par défaut dans java 1.7?

Lorsque la JVM ne peut pas allouer de mémoire, même si le CMS est activé. (Ou lorsque Le Système.gc () le déclenche pour faire une collection complète) CMS ne déclenche qu'une collection majeure de l'espace tenuré lorsqu'il s'exécute. Il n'y a pas de CMS pour FullGC.

 5
Author: Peter Lawrey, 2014-05-07 17:37:18