2017-10-03 7 views
2

Pour le mode Oracle JVM 1.8 Server, les collecteurs Parallel, CMS et G1 peuvent-ils changer dynamiquement le rapport de la jeune génération à l'ancienne génération? Quel est le ratio par défaut de la jeune génération à l'ancienne génération chez ces trois collectionneurs?Dimensionnement adaptatif dans les garbage collectors de la JVM

Parallel = -XX:+UseParallelGC -XX:+UseParallelOldGC 

CMS = -XX:+UseConcMarkSweepGC 

G1 = -XX:+UseG1GC 

Répondre

0

Eh bien, cela pourrait ne pas être en mesure de répondre aux détails exacts en termes de ce qui est le rapport de GCS en tant que tel, mais cet article nommé oraclecollectors parle un peu de volume à détailler ici: -

Parler A propos des combinaisons des Garbage Collectors, elle ne fait pas exploser une douzaine de combinaisons car tous ces collecteurs ne fonctionnent pas les uns avec les autres.

  • G1 est effectivement un collecteur antisocial qui n'aime pas travailler avec quelqu'un d'autre.

  • Les collecteurs série sont les « dernier homme choisi » collectionneurs

  • Les collecteurs « PS » aiment travailler les uns avec les autres; Les collecteurs ParNew et Concurrent fonctionnent bien ensemble.

A partir de Java9 partir (avec l'ajout d'être en mesure de désactiver la politique de dimensionnement adaptatif) et JEP 248:Making G1 the default Garbage Collector, qui est à peu près là serait juste un GC. Jusqu'à présent, bien qu'il existe encore une liste possible d'auteurs en termes d'options d'algorithme de récupération de place. Partage d'un écran de l'article lié lui-même:

enter image description here

espoir qui aide.

1

Les valeurs par défaut dépendent souvent de la version et de la machine ou peuvent changer en fonction des autres paramètres définis. Il est donc préférable de simplement interroger la machine virtuelle Java.

par exemple. utilisez java -XX:+UseG1GC -XX:+PrintFlagsFinal pour voir les valeurs par défaut, y compris celles qui sont dérivées en fonction de la sélection de G1.

G1 et le collecteur parallèle prennent en charge le dimensionnement adaptatif, CMS ne le fait pas, il ajuste les seuils de permanence à la place pendant l'exécution.