Chcete-li nakonfigurovat parametry JVM tak, aby se minimalizovaly pauzy ve sběru odpadu, můžete postupovat takto:
1. Nastavte velikost haldy:
- Nastavit maximální velikost haldy:- Pomocí příznaku `-Xmx` nastavte maximální velikost haldy.
- Například `-Xmx2g` nastaví maximální velikost haldy na 2 GB.
- Nastavit počáteční velikost haldy:
- Použijte příznak `-Xms` k nastavení počáteční velikosti haldy.
- Například `-Xms2g` nastaví počáteční velikost haldy na 2 GB.
2. Nastavte velikost mladé generace:
- Nastavte velikost mladé generace:- Pomocí příznaku `-Xmn` nastavte velikost mladé generace.
- Například `-Xmn1g` nastaví velikost mladé generace na 1 GB.
3. Nastavte sběrače odpadků:
- Použijte Garbage-First (G1) Garbage Collector:- Použijte příznak `-XX:+UseG1GC` k povolení G1 garbage collector.
- Tento kolektor je navržen tak, aby minimalizoval doby pauzy.
4. Nastavte maximální dobu pauzy:
- Nastavte maximální dobu pauzy:- Použijte příznak `-XX:MaxGCPauseMillis` k nastavení maximální doby pauzy.
- Například `-XX:MaxGCPauseMillis=200` nastaví maximální dobu pauzy na 200 milisekund.
5. Nastavte paralelní vlákna GC:
- Nastavte počet paralelních GC vláken:- Pomocí příznaku `-XX:ParallelGCThreads` nastavte počet paralelních vláken GC.
- Například `-XX:ParallelGCThreads=20` nastaví počet paralelních vláken GC na 20.
6. Nastavte souběžná vlákna GC:
- Nastavte počet souběžných vláken GC:- Pomocí příznaku `-XX:ConcGCThreads` nastavte počet souběžných vláken GC.
- Například `-XX:ConcGCThreads=5` nastaví počet souběžných vláken GC na 5.
7. Nastavte procento obsazenosti iniciační haldy:
- Nastavte procento obsazenosti počáteční haldy:- Pomocí příznaku `-XX:InitiatingHeapOccupancyPercent` nastavte iniciační procento obsazení haldy.
- Například `-XX:InitiatingHeapOccupancyPercent=70` nastaví procento obsazení iniciační haldy na 70 %.
8. Monitorujte a upravujte:
- Monitorujte svoz odpadu:- Ke sledování shromažďování odpadků používejte nástroje jako VisualVM nebo GCeasy.
- Podle potřeby upravte parametry JVM, abyste minimalizovali doby pauzy.
Podle těchto kroků můžete nakonfigurovat parametry JVM tak, aby se minimalizovaly pauzy ve sběru odpadu a zajistil se efektivní výkon aplikací.
Citace:[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