Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon comment puis-je configurer les paramètres JVM pour minimiser les pauses du garbage collection


comment puis-je configurer les paramètres JVM pour minimiser les pauses du garbage collection


Pour configurer les paramètres JVM afin de minimiser les pauses du garbage collection, vous pouvez suivre ces étapes :

1. Définissez la taille du tas :

- Définissez la taille maximale du tas :
- Utilisez l'indicateur `-Xmx` pour définir la taille maximale du tas.
- Par exemple, `-Xmx2g` définit la taille maximale du segment de mémoire à 2 Go.

- Définissez la taille initiale du tas :
- Utilisez l'indicateur `-Xms` pour définir la taille initiale du tas.
- Par exemple, `-Xms2g` définit la taille initiale du tas à 2 Go.

2. Définissez la taille de la jeune génération :

- Définissez la taille de la jeune génération :
- Utilisez le drapeau `-Xmn` pour définir la taille de la jeune génération.
- Par exemple, `-Xmn1g` définit la taille de la jeune génération à 1 Go.

3. Définissez le garbage collector :

- Utilisez le collecteur de déchets Garbage-First (G1) :
- Utilisez l'indicateur `-XX:+UseG1GC` pour activer le garbage collector G1.
- Ce collecteur est conçu pour minimiser les temps de pause.

4. Définissez la durée de pause maximale :

- Définissez le temps de pause maximum :
- Utilisez l'indicateur `-XX:MaxGCPauseMillis` pour définir le temps de pause maximum.
- Par exemple, `-XX:MaxGCPauseMillis=200` définit le temps de pause maximum à 200 millisecondes.

5. Définissez les threads GC parallèles :

- Définissez le nombre de threads GC parallèles :
- Utilisez l'indicateur `-XX:ParallelGCThreads` pour définir le nombre de threads GC parallèles.
- Par exemple, `-XX:ParallelGCThreads=20` définit le nombre de threads GC parallèles à 20.

6. Définissez les threads GC simultanés :

- Définissez le nombre de threads GC simultanés :
- Utilisez l'indicateur `-XX:ConcGCThreads` pour définir le nombre de threads GC simultanés.
- Par exemple, `-XX:ConcGCThreads=5` définit le nombre de threads GC simultanés à 5.

7. Définissez le pourcentage d'occupation du tas de lancement :

- Définissez le pourcentage d'occupation du tas de lancement :
- Utilisez l'indicateur `-XX:InitiatingHeapOccupancyPercent` pour définir le pourcentage d'occupation du tas de lancement.
- Par exemple, `-XX:InitiatingHeapOccupancyPercent=70` définit le pourcentage d'occupation du tas de lancement sur 70 %.

8. Surveiller et ajuster :

- Surveiller la collecte des déchets :
- Utilisez des outils comme VisualVM ou GCeasy pour surveiller le garbage collection.
- Ajustez les paramètres JVM si nécessaire pour minimiser les temps de pause.

En suivant ces étapes, vous pouvez configurer les paramètres JVM pour minimiser les pauses du garbage collection et garantir des performances efficaces des applications.

Citations :
[1] https://www.uber.com/blog/jvm-tuning-garbage-collection/
[2] https://docs.datastax.com/en/dse/6.8/managing/operations/configure-garbage-first-collection.html
[3] https://sematext.com/blog/java-garbage-collection-tuning/
[4] https://docs.oracle.com/cd/E55119_01/doc.71/e55122/cnf_jvmgc.htm
[5] https://docs.oracle.com/cd/E40972_01/doc.70/e40973/cnf_jvmgc.htm