| Nom du paramètre | signification | Paramètres par défaut/Notes |
| -Xms | Taille initiale du tas | 1/64 (<1 Go) de mémoire physique Par défaut (le paramètre MinHeapFreeRatio peut être ajusté) Lorsque la mémoire du tas libre est inférieure à 40 %, la JVM augmente le tas jusqu’à la limite maximale de -Xmx |
| -Xmx | Taille maximale du tas | 1/4 de la mémoire physique (<1 Go) par défaut (le paramètre MaxHeapFreeRatio peut être ajusté) Lorsque la mémoire du tas libre dépasse 70 %, la JVM réduira le tas jusqu’à la limite minimale de -xms |
| -Xmn | Taille de génération (JDK 1.4 ou plus) | Après l’augmentation de la nouvelle génération, la taille de l’ancienne sera réduite. Cette valeur a un impact significatif sur la performance du système. Sun recommande officiellement cette configuration à 3/8 de l’ensemble de la pile |
| -Xss | La taille de la pile de chaque thread | Après JDK5.0, la taille de chaque pile de threads était de 1M, et auparavant chaque taille de pile de threads était de 256K, ce qui peut être en unités K, M ou G |
| -XX :TailleFileStackThread | Ibid | 0 signifie que la valeur par défaut est utilisée, et qu’elle ne peut pas être unifiée |
| -XX :Taille permanente | Fixer la valeur initiale de l’algèbre permanente | 1/64 de la mémoire physique |
| -XX : MaxPermTaille | Fixez le maximum de production permanente | 1/4 de la mémoire physique |
| -XX :NewRatio | Ratio du Cénozoïque (incluant Eden et deux zones Survivant) à l’Âge (hors génération permanente) | -XX :NewRatio=4 signifie que le rapport du Cénozoïque à l’Âge Ancien est de 1:4, et le Cénozoïque prend en compte 1/5 de l’ensemble de la pile, Xms=Xmx et Xmn est fixé, ce paramètre n’a pas besoin d’être fixé. |
| -XX : SurvivorRatio | Le ratio de taille de la zone Eden par rapport à la zone des Survivants | Si on est fixé à 8, le ratio de deux régions Survivants pour une région d’Éden est de 2:8, et une région Survivante représente 1/10 de l’ensemble du Cénozoïque |
| -XX : GrandeTaillePageEnOctets | La taille de la page mémoire ne doit pas être trop grande, car elle affecterait la taille de la Perm | =128m |
| -XX :+UtiliserMéthodesRapidesAccès | Optimisation rapide du type original | / |
| -XX :+DisableExplicitGC | Fermer System.gc() | Ce paramètre nécessite des tests rigoureux |
| -XX : Seuil maximal de titularisation | Âge maximal des déchets | Si elle est réglée à 0, l’objet de nouvelle génération entrera directement dans l’ancienne ère sans passer par la zone Survivant. Pour les applications plus anciennes, l’efficacité peut être améliorée. Si cette valeur est fixée à une grande valeur, l’objet de nouvelle génération sera copié plusieurs fois dans la région Survivor, ce qui peut augmenter le temps de survie de l’objet dans la nouvelle génération et augmenter la probabilité d’être recyclé dans la nouvelle génération, ce qui n’est valable que pour les GC série |
| -XX :+Opts Agressifs | Compilation accélérée | / |
| -XX :+UtiliserVerrouillagePolarisé | Améliorations de performance pour les mécanismes de verrouillage | / |
| -Xnoclassgc | Désactiver le recyclage des déchets | / |
| -XX : SoftRefLRUPolicyMSPerMB | Le temps de survie de SoftReference par mégatas d’espace libre | 1 |
| -XX : Seuil de taille avant la titularisation | La taille de l’objet est directement répartie dans la vieillesse | Un autre cas où la nouvelle génération utilise Parallel Scavenge GC est invalide, et un autre cas où elle est directement assignée à l’époque ancienne est un grand tableau d’objets sans objet de référence externe dans le tableau. |
| -XX :TLABWasteTargetPercent. | Pourcentage de TLAB dans la région d’Eden | 1% |
| -XX :+CollectGen0First | Si YGC passe en premier lors de FullGC | false |
| -XX :+UtiliserParallelGC | Le CG complet utilise un MSC parallèle | Voir [paramètres GC][1] |
| -XX :+UseParNewGC | Mettre la nouvelle génération à collecter en parallèle | Elle peut être utilisée en conjonction avec la collection CMS, JDK 5.0 ou ultérieure, et la JVM la définira selon la configuration du système, il n’est donc pas nécessaire de redéfinir cette valeur |
| -XX :ParallelGCThreads | Le nombre de fils pour le collecteur parallèle | Cette valeur est mieux configurée au même niveau que le nombre de processeurs, et convient également au CMS |
| -XX :+UtiliserParallèleOldGC | L’ancienne méthode de collecte des déchets est le compactage parallèle | C’est l’option paramètre qui apparaît dans JAVA 6 |
| -XX : MaxGCPauseMillis | Temps maximal par nouvelle génération de collecte des déchets (temps maximum de pause) | Si ce délai ne peut être atteint, la JVM redimensionnera automatiquement la nouvelle génération pour répondre à cette valeur. |
| -XX :+UtiliseAdaptiveTaillePolicy | Sélectionnez automatiquement la taille de la nouvelle zone de production et le ratio correspondant de la zone survivante | Lorsque cette option est activée, le collecteur parallèle sélectionne automatiquement la taille de la nouvelle zone de génération et la proportion correspondante de la zone survivante afin d’atteindre le temps ou la fréquence de collecte minimale spécifiés par le système cible |
| -XX :GCTimeRatio | Fixez le temps de collecte des déchets en pourcentage de la durée d’exécution du programme | La formule est 1/(1+n) |
| -XX :+PuissurerAvantFullGC | Directeur général complet avant d’appeler YGC | true |
| -XX : + UtiliserConcMarkSweepGC | Utilisation de la collection mémoire CMS | Après avoir configuré cela dans le test, la configuration de -XX :NewRatio=4 est invalide, et la raison est inconnue, il est donc préférable d’utiliser -Xmn pour définir la taille de la nouvelle génération à ce moment-là |
| -XX :+Tas Agressif | L’objectif est d’utiliser beaucoup de mémoire physique | L’optimisation de la grande consommation de mémoire à long terme, permettant de vérifier les ressources informatiques (mémoire, nombre de processeurs, au moins 256 Mo de mémoire) est nécessaire |
| -XX : CMSFullGCsAvantCompactation | Combien de fois la compression de la mémoire se produit-elle ? | Puisque le collecteur concurrent ne compresse pas et n’organise pas l’espace mémoire, il produira une « fragmentation » après un certain temps d’exécution, ce qui réduit l’efficacité opérationnelle |
| -XX :+CMSParallelRemarkActivé | Pauses inférieures du marqueur | / |
| -XX+UseCMSCompactAtFullCollection | La compression de la vieillesse à l’époque où c’était FullGC | Le CMS ne déplace pas la mémoire, il est donc très facile de produire une fragmentation, ce qui entraîne une mémoire insuffisante, donc la compression mémoire sera activée à ce moment-là. C’est une bonne habitude d’augmenter ce paramètre. Cela peut affecter les performances, mais cela peut éliminer les débris |
| -XX :+UseCMSInitiatingOccupancyOnly | Démarrer la collecte CMS avec initialisation manuelle des définitions | HostSpot n’a pas le droit de déclencher seul le CMS GC |
| -XX :CMSInitiatingOccupationFraction=70 | La collecte du CMS commence après que 70 % des déchets ont été utilisés pour le recyclage des déchets | Cette valeur doit être définie pour répondre à la formule suivante : CMSInitiatingOccupancyFraction |
| -XX : CMSInitiatingPermOccupancyFraction | Réglez l’utilisation du générateur permanent pour qu’elle se déclenche lorsque le ratio est atteint | 92 |
| -XX :+CMSIncrementalMode | Réglé en mode incrémental | Utilisation dans les boîtiers à processeur unique |
| -XX :+CMSClassUnloadingEnabled | Permanent CMS GC | / |
| -XX :+PrintGC | Sortie logarithmique GC | Même chose que -verbose :gc |
| -XX :+PrintGCDetails | Ibid | Plus de détails |
| -XX :+PrintGCTimeStamps | Horodatage GC de sortie | Utilise-le avec le paramètre PrintGC ci-dessus, ou écris quelque chose comme -XX :+PrintGC :PrintGCTimeStamps |
| -XX :+PrintGC :PrintGCTimeStamps | / | Peut être mélangé avec -XX :+PrintGC -XX :+PrintGCDetails |
| -XX :+ImprimerGCATempsStoppéÉClaTemps | Le moment où le programme s’arrête pendant la collecte des ordures imprimées. Peut être mélangé avec ce qui précède | Format de sortie : Temps total pendant lequel les threads d’application ont été arrêtés : 0,0468229 secondes |
| -XX :+ImprimerGCApliqueTempsConcurrentT | Imprimez le temps d’exécution ininterrompu du programme avant chaque collecte des ordures | Peut être mélangé avec ce qui précède, forme de sortie : Temps d’application : 0,5291524 secondes |
| -XX :+PrintHeapAtGC | Imprimez des informations détaillées sur la pile avant et après la préparation de la GC | / |
| -Xloggc :nom de fichier | Enregistrez les informations de journal pertinentes dans un fichier pour analyse | Fonctionne avec les quelques exemples ci-dessus |
| -XX : +HistogrammeClassImprimerClasse | Après avoir appuyé sur Ctrl+Break dans la console, imprimez les informations de la classe | / |
| -XX :+HistogrammeClasseImmatiqueAvantGC | FullGC avant impression | / |
| -XX :+PrintTLAB | Voir l’utilisation de l’espace TLAB | / |
| XX:+PrintTenuringDistribution | Consultez le seuil pour la nouvelle période de survie après chaque GC mineur | / |
| -EA | Activez assertion affirmer | / |
| -Xprof | Diagnostics de performance | / |
| -Xrunhprof | Diagnostics de performance | / |
| -XX :+TraceClassChargement | Imprime des informations sur le processus de chargement des classes | Similaire à [Chargé java.util.AbstractList$Itr depuis /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar] |
| -XX :+TraceClassUnloading | Informations sur le processus de désinstallation de la classe d’impression | / |
| Xbootclasspath | Spécifie le chargement des classes qui ne nécessitent pas de vérifications | Sauter les vérifications préalables nécessaires peut réduire le temps de chargement, mais ce n’est pas sûr |
| -XX :+Compilation Imprimée | Imprimez le nom de la méthode que Hotspot compile en utilisant JIT | / |
| -XX :+HeapDumpOnOutOfMemoryErrorT | OM lors de la génération d’un dump de tas | La sortie par défaut se trouve dans le dossier racine où sont stockés les fichiers de classes |
| -XX : CheminDeDumpTas | Définir le chemin du fichier de vidage OM de sortie | Utiliser avec -XX :+HeapDumpOnOutofMemoryError |
| Nom du paramètre | description | Faire défaut |
| -d32 | Utiliser un modèle de données 32 bits (si disponible) | / |
| -d64 | Utiliser un modèle de données 64 bits (si disponible) | / |
| -serveur | Sélectionnez la machine virtuelle serveur | La VM par défaut est serveur car vous tournez sur une machine de type serveur. |
| -cp < répertoire et chemin de recherche de classe zip/jar > | / | / |
| -classpath < le chemin de recherche de classes pour les répertoires et les fichiers zip/jar > | Utilisez : une liste de répertoires séparés, d’archives JAR et d’archives ZIP pour rechercher des fichiers de classes | / |
| -D<名称>=<值> | Propriétés du système d’ensemble | / |
| -verbeux : [Classe ou GC ou JNI] | Activez la sortie détaillée | / |
| -Version | Sortie de la version produit et sortie | / |
| -<值>version : | / | Déprécié |
| -version de l’émission | Sortez la version produit et continuez | / |
| -jre-restrict-search ou -no-jre-restrict-search | / | Déprécié |
| -? -Aide | Envoyez ce message d’aide | / |
| -X | Aide à la sortie pour les options non standard | / |
| -ea[ :< nom du colis, nom de la classe>] | affirmer | / |
| -enableassertion[ :< nom du paquet, nom de la classe>] | Activez les assertions à la granularité spécifiée | / |
| -da[ :< nom du colis, nom de la classe >] | / | / |
| -disableassertion[ :< nom du paquet, nom de la classe >] | Désactiver les assertions avec une granularité spécifiée | / |
| -ESA ou -enablesystemassertions | Activer les assertions système | / |
| -DSA ou -disablesystemassertions | Désactiver les assertions système | / |
| -agentlib :<libname>[=<选项>] | Chargez la bibliothèque <libname>d’agents natifs. | Par exemple, -agentlib :hprofVoir aussi -agentlib :jdwp=help et -agentlib :hprof=help |
| -agentpath :<pathname>[=<选项>] | Chargez la bibliothèque d’agent local par le nom complet du chemin | / |
| -javaagent :<jarpath>[=<选项>] | Pour charger l’agent du langage de programmation Java, voir java.lang.instrument | / |
| -éclaboussure :<imagepath> | Affichez l’écran d’accueil avec l’image spécifiée | / |