Cet article est le dernier lié à GC. Cette fois, LZ répertorie simplement les paramètres clés liés au garbage collector dans la JVM hotspot, ainsi que l'explication de chaque paramètre. Sans plus tarder, commençons.
Paramètres de sélection du garbage collector
UseSerialGC : activez ce paramètre pour utiliser l'ancien collecteur série et série (valeur par défaut du mode client).
UseParNewGC : activez ce paramètre pour utiliser ParNew et l'ancien collecteur série (non recommandé).
UseConcMarkSweepGC : activez ce paramètre pour utiliser le collecteur ParNew & CMS (l'ancien numéro de série est le substitut).
UseParallelGC : activez ce paramètre pour utiliser le nettoyage parallèle et l'ancien collecteur parallèle (valeur par défaut du mode serveur).
UseParallelOldGC : Activez ce paramètre pour utiliser l'ancien collecteur parallèle dans l'ancienne génération (ce paramètre est inutile après JDK1.5).
Paramètres liés à la taille de chaque zone mémoire JVM
Xms : la valeur initiale du tas. La valeur par défaut est 1/64 de la mémoire physique et le maximum ne dépasse pas 1 Go.
Xmx : La valeur maximale du tas. La valeur par défaut est 1/4 de la mémoire physique et le maximum ne dépasse pas 1 Go.
Xmn : La taille de la nouvelle génération.
Xss : taille de la pile de threads.
PermSize : Taille initiale de la génération permanente. La valeur par défaut est 1/64 de la mémoire physique et le maximum ne dépasse pas 1 Go.
MaxPermSize : Taille maximale de génération permanente. La valeur par défaut est 1/4 de la mémoire physique et le maximum ne dépasse pas 1 Go.
NewRatio : Le rapport entre la nouvelle génération et l'ancienne génération. Par exemple, s'il vaut 3, la nouvelle génération occupe 1/4 du tas et l'ancienne génération en occupe 3/4.
SurvivorRatio : ajustez le rapport entre la zone édénique et la zone survivante dans la nouvelle génération. La valeur par défaut est 8, c'est-à-dire que la zone édénique représente 80 % de la taille et les deux survivants représentent respectivement 10 % de la taille. (Remarque : ce paramètre est une méthode pour résoudre le problème de la réduction de moitié de la mémoire de l'algorithme de réplication dans le chapitre expliquant l'algorithme de réplication. La zone eden est la partie à 80 % du chapitre de l'algorithme de réplication, et la zone survivante est deux 10% Cette partie. )
Paramètres généraux de performances du garbage collector
PretenureSizeThreshold : La taille de l'objet pour promouvoir l'ancienne génération. La valeur par défaut est 0. Par exemple, s'il est défini sur 10M, les objets dépassant 10M ne seront pas alloués dans la zone eden, mais entreront directement dans l'ancienne génération.
MaxTenuringThreshold : L'âge maximum de promotion vers l'ancienne génération. La valeur par défaut est 15. Par exemple, s'il est défini sur 10, l'objet sera placé dans l'ancienne génération après 10 fois GC ordinaires.
DisableExplicitGC : désactivez System.gc().
Paramètres du collecteur parallèle
ParallelGCThreads : Le nombre de threads ouverts lors du recyclage. La valeur par défaut est égale au nombre de processeurs.
GCTimeRatio : définissez le débit du système. Par exemple, s'il est défini sur 99, le rapport de temps GC est de 1/1 99=1 %, ce qui signifie que le débit requis est de 99 %. Si elle ne peut être satisfaite, la taille de la nouvelle génération sera réduite.
MaxGCPauseMillis : définissez le temps de pause maximum pour le garbage collection. Si la valeur du paramètre ne peut pas être atteinte, la taille de la nouvelle génération sera d'abord réduite. Si elle n'est toujours pas atteinte, le débit sera sacrifié.
Paramètres du collecteur simultané
CMSInitiatingOccupancyFraction : le taux de mémoire qui déclenche le collecteur CMS. Par exemple, 60 % signifie que lorsque la mémoire atteint 60 %, la collecte simultanée CMS démarre.
UseCMSCompactAtFullCollection : ceci a déjà été mentionné et est utilisé pour envoyer une déflation de la mémoire après chaque fois que le collecteur CMS nettoie les déchets.
CMSFullGCsBeforeCompaction : défini pour déclencher un compactage de la mémoire après plusieurs garbage collection CMS.
Conclusion
La série relative au GC est pratiquement terminée. Cet article n'est qu'une liste. Entrons ensuite dans le monde du code source des machines virtuelles.
Ce qui précède est une explication détaillée de la gestion de la mémoire JVM------paramètres du garbage collector. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !