Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 17284|Répondre: 1

[Source] Paramètres JVM Options

[Copié le lien]
Publié le 31-08-2020 à 22:20:25 | | |
Nous divisons les paramètres de la JVM en trois parties en fonction des paramètres de la JVM commençant par -X ou -XX :
1. En commençant par -, l’option VM standard, l’option de spécification VM ;
2. Celles qui commencent par -X ne sont pas standard (ces paramètres ne sont pas garantis d’être implémentés sur toutes les JVM), et en cas de modification dans la nouvelle version, aucune notification ne sera émise.
3. Celles qui commencent par -XX sont instables et ne sont pas recommandées pour les environnements de production. Les modifications de ces paramètres ne seront pas non plus notifiées. Options de paramètres bool : -XX :+ activé, -XX :- désactivé. (par exemple -XX :+PrintGCDetails) L’option paramètre numérique est définie par -XX :=. Les nombres peuvent être m/m (mégaoctets), k/k (kilooctets), g/g (g-octets). Par exemple : 32K signifie 32768 octets. (par exemple -XX :MaxPermSize=64m) L’option du paramètre Chaîne est définie par -XX :=, généralement utilisée pour spécifier un fichier, un chemin ou une liste de commandes. (par exemple -XX :HeapDumpPath=./java_pid.hprof) commande java -help peut lister les options standard pour le démarrage d’applications Java (voir la table standard des paramètres VM de l’Annexe, différentes implémentations de JVM sont différentes). java -X peut lister des paramètres non standards (qui est une extension de la JVM). -Les options liées à X ne sont pas standard et ne seront pas notifiées si elles sont modifiées. Si vous souhaitez voir les paramètres JVM actuellement utilisés par votre application, vous pouvez utiliser : ManagementFactory.getRuntimeMXBean().getInputArguments().

Nom du paramètresignificationParamètres par défaut/Notes
-XmsTaille initiale du tas1/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
-XmxTaille maximale du tas1/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
-XmnTaille 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
-XssLa taille de la pile de chaque threadAprè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 :TailleFileStackThreadIbid0 signifie que la valeur par défaut est utilisée, et qu’elle ne peut pas être unifiée
-XX :Taille permanenteFixer la valeur initiale de l’algèbre permanente1/64 de la mémoire physique
-XX : MaxPermTailleFixez le maximum de production permanente1/4 de la mémoire physique
-XX :NewRatioRatio 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 : SurvivorRatioLe ratio de taille de la zone Eden par rapport à la zone des SurvivantsSi 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 : GrandeTaillePageEnOctetsLa taille de la page mémoire ne doit pas être trop grande, car elle affecterait la taille de la Perm=128m
-XX :+UtiliserMéthodesRapidesAccèsOptimisation rapide du type original
-XX :+DisableExplicitGCFermer System.gc()Ce paramètre nécessite des tests rigoureux
-XX : Seuil maximal de titularisationÂge maximal des déchetsSi 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 AgressifsCompilation accélérée
-XX :+UtiliserVerrouillagePolariséAméliorations de performance pour les mécanismes de verrouillage
-XnoclassgcDésactiver le recyclage des déchets
-XX : SoftRefLRUPolicyMSPerMBLe temps de survie de SoftReference par mégatas d’espace libre1
-XX : Seuil de taille avant la titularisationLa taille de l’objet est directement répartie dans la vieillesseUn 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’Eden1%
-XX :+CollectGen0FirstSi YGC passe en premier lors de FullGCfalse
-XX :+UtiliserParallelGCLe CG complet utilise un MSC parallèleVoir [paramètres GC][1]
-XX :+UseParNewGCMettre la nouvelle génération à collecter en parallèleElle 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 :ParallelGCThreadsLe nombre de fils pour le collecteur parallèleCette valeur est mieux configurée au même niveau que le nombre de processeurs, et convient également au CMS
-XX :+UtiliserParallèleOldGCL’ancienne méthode de collecte des déchets est le compactage parallèleC’est l’option paramètre qui apparaît dans JAVA 6
-XX : MaxGCPauseMillisTemps 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 :+UtiliseAdaptiveTaillePolicySélectionnez automatiquement la taille de la nouvelle zone de production et le ratio correspondant de la zone survivanteLorsque 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 :GCTimeRatioFixez le temps de collecte des déchets en pourcentage de la durée d’exécution du programmeLa formule est 1/(1+n)
-XX :+PuissurerAvantFullGCDirecteur général complet avant d’appeler YGCtrue
-XX : + UtiliserConcMarkSweepGCUtilisation de la collection mémoire CMSAprè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 AgressifL’objectif est d’utiliser beaucoup de mémoire physiqueL’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 : CMSFullGCsAvantCompactationCombien 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+UseCMSCompactAtFullCollectionLa compression de la vieillesse à l’époque où c’était FullGCLe 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 :+UseCMSInitiatingOccupancyOnlyDémarrer la collecte CMS avec initialisation manuelle des définitionsHostSpot n’a pas le droit de déclencher seul le CMS GC
-XX :CMSInitiatingOccupationFraction=70La collecte du CMS commence après que 70 % des déchets ont été utilisés pour le recyclage des déchetsCette valeur doit être définie pour répondre à la formule suivante : CMSInitiatingOccupancyFraction
-XX : CMSInitiatingPermOccupancyFractionRéglez l’utilisation du générateur permanent pour qu’elle se déclenche lorsque le ratio est atteint92
-XX :+CMSIncrementalModeRéglé en mode incrémentalUtilisation dans les boîtiers à processeur unique
-XX :+CMSClassUnloadingEnabledPermanent CMS GC
-XX :+PrintGCSortie logarithmique GCMême chose que -verbose :gc
-XX :+PrintGCDetailsIbidPlus de détails
-XX :+PrintGCTimeStampsHorodatage GC de sortieUtilise-le avec le paramètre PrintGC ci-dessus, ou écris quelque chose comme -XX :+PrintGC :PrintGCTimeStamps
-XX :+PrintGC :PrintGCTimeStampsPeut être mélangé avec -XX :+PrintGC -XX :+PrintGCDetails
-XX :+ImprimerGCATempsStoppéÉClaTempsLe moment où le programme s’arrête pendant la collecte des ordures imprimées. Peut être mélangé avec ce qui précèdeFormat de sortie : Temps total pendant lequel les threads d’application ont été arrêtés : 0,0468229 secondes
-XX :+ImprimerGCApliqueTempsConcurrentTImprimez le temps d’exécution ininterrompu du programme avant chaque collecte des orduresPeut être mélangé avec ce qui précède, forme de sortie : Temps d’application : 0,5291524 secondes
-XX :+PrintHeapAtGCImprimez des informations détaillées sur la pile avant et après la préparation de la GC
-Xloggc :nom de fichierEnregistrez les informations de journal pertinentes dans un fichier pour analyseFonctionne avec les quelques exemples ci-dessus
-XX : +HistogrammeClassImprimerClasseAprès avoir appuyé sur Ctrl+Break dans la console, imprimez les informations de la classe
-XX :+HistogrammeClasseImmatiqueAvantGCFullGC avant impression
-XX :+PrintTLABVoir l’utilisation de l’espace TLAB
XX:+PrintTenuringDistributionConsultez le seuil pour la nouvelle période de survie après chaque GC mineur
-EAActivez assertion affirmer
-XprofDiagnostics de performance
-XrunhprofDiagnostics de performance
-XX :+TraceClassChargementImprime des informations sur le processus de chargement des classesSimilaire à [Chargé java.util.AbstractList$Itr depuis /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar]
-XX :+TraceClassUnloadingInformations sur le processus de désinstallation de la classe d’impression
XbootclasspathSpécifie le chargement des classes qui ne nécessitent pas de vérificationsSauter les vérifications préalables nécessaires peut réduire le temps de chargement, mais ce n’est pas sûr
-XX :+Compilation ImpriméeImprimez le nom de la méthode que Hotspot compile en utilisant JIT
-XX :+HeapDumpOnOutOfMemoryErrorTOM lors de la génération d’un dump de tasLa sortie par défaut se trouve dans le dossier racine où sont stockés les fichiers de classes
-XX : CheminDeDumpTasDéfinir le chemin du fichier de vidage OM de sortieUtiliser avec -XX :+HeapDumpOnOutofMemoryError

Annexe

[Feuille de paramètres standard de VM]

Nom du paramètredescriptionFaire défaut
-d32Utiliser un modèle de données 32 bits (si disponible)
-d64Utiliser un modèle de données 64 bits (si disponible)
-serveurSélectionnez la machine virtuelle serveurLa 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
-VersionSortie de la version produit et sortie
-<值>version :Déprécié
-version de l’émissionSortez la version produit et continuez
-jre-restrict-search ou -no-jre-restrict-searchDéprécié
-? -AideEnvoyez ce message d’aide
-XAide à 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 -enablesystemassertionsActiver les assertions système
-DSA ou -disablesystemassertionsDé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






Précédent:Nuget Series 1 utilise asp.net pour construire un dépôt Nuget privé
Prochain:Mysql CURRENT_TIMESTAMP et ON UPDATE CURRENT_TIMESTAMP différenciés
 Propriétaire| Publié le 13-01-2022 09:50:32 |


Note : -Xms256m -Xmx1536m ne peut pas être placé après le paramètre jar !
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com