Quelles sont les valeurs par défaut pour les options suivantes dans Java 6 sur une machine non serveur-classe )?
Oracle documentation indique que:
Sur les machines de classe serveur exécutant la machine virtuelle du serveur, le garbage collector (GC) est passé du collecteur série précédent (-XX: + UseSerialGC) à un collecteur parallèle (-XX: + UseParallelGC).
et
Sur les machines de classe serveur exécutant soit VM (client ou serveur) avec le garbage collector parallèle (-XX: + UseParallelGC), la taille de segment initiale et la taille de segment maximale ont changé
La page ne décrit pas les valeurs par défaut pour les machines n'appartenant pas à la classe serveur, mais seulement que, par exemple, la taille de segment de mémoire initiale est "un minimum raisonnable". En regardant la 'page de manuel' pour la commande Java
il y a ce qui suit contre -Xms
:
La valeur par défaut est choisie lors de l'exécution en fonction de la configuration du système
Valeurs par défaut pour JDK 1.6.0_29 sous Windows 7/32 bits:
-Xmx256m
-XX:MaxPermSize=64m
La valeur de ces options peut également être imprimée par la commande suivante:
Java -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version 2>&1
Recherchez ensuite les clés MaxHeapSize et MaxPermSize et voyez les valeurs par défaut.
uintx InitialHeapSize := 199947456 {product}
uintx MaxHeapSize := 268435456 {product}
uintx MaxPermSize = 67108864 {pd product}
Ici est le HotSpot ultime VM Cheat Sheet Options avec valeurs par défaut et descriptions pour les 5 dernières versions de JDK (7, 8, 9, 10 & 11).