Följ dessa steg för att konfigurera JVM-parametrar för att minimera uppehåll i sophämtningen:
1. Ställ in högstorleken:
- Ställ in maximal högstorlek:- Använd flaggan "-Xmx" för att ställa in den maximala högstorleken.
- Till exempel, `-Xmx2g` ställer in den maximala högstorleken till 2 GB.
- Ställ in den ursprungliga högstorleken:
- Använd flaggan "-Xms" för att ställa in den initiala högstorleken.
- Till exempel, `-Xms2g` ställer in den ursprungliga högstorleken till 2 GB.
2. Ange den unga generationens storlek:
- Ställ in den unga generationens storlek:- Använd flaggan "-Xmn" för att ställa in den unga generationens storlek.
- Till exempel, `-Xmn1g` ställer in den unga generationens storlek till 1 GB.
3. Ställ in sopsamlaren:
- Använd Garbage-First (G1) Garbage Collector:- Använd flaggan "-XX:+UseG1GC" för att aktivera G1-sopsamlaren.
- Den här samlaren är designad för att minimera paustider.
4. Ställ in maximal paustid:
- Ställ in maximal paustid:- Använd flaggan "-XX:MaxGCPauseMillis" för att ställa in maximal paustid.
- Till exempel, `-XX:MaxGCPauseMillis=200` ställer in den maximala paustiden till 200 millisekunder.
5. Ställ in de parallella GC-trådarna:
- Ställ in antalet parallella GC-trådar:- Använd flaggan "-XX:ParallelGCThreads" för att ställa in antalet parallella GC-trådar.
- Till exempel, `-XX:ParallelGCThreads=20` ställer in antalet parallella GC-trådar till 20.
6. Ställ in samtidiga GC-trådar:
- Ställ in antalet samtidiga GC-trådar:- Använd flaggan "-XX:ConcGCThreads" för att ställa in antalet samtidiga GC-trådar.
- Till exempel, `-XX:ConcGCThreads=5` ställer in antalet samtidiga GC-trådar till 5.
7. Ställ in den initierande beläggningsprocenten:
- Ställ in den initierande beläggningsprocenten:- Använd flaggan "-XX:InitiatingHeapOccupancyPercent" för att ställa in den initierande heapoccupancyprocenten.
- Till exempel, `-XX:InitiatingHeapOccupancyPercent=70` ställer in den initierande heap-beläggningsprocenten till 70 %.
8. Övervaka och justera:
- Övervaka sophämtning:- Använd verktyg som VisualVM eller GCeasy för att övervaka sophämtning.
- Justera JVM-parametrar efter behov för att minimera paustider.
Genom att följa dessa steg kan du konfigurera JVM-parametrar för att minimera uppehåll i sophämtningen och säkerställa effektiv applikationsprestanda.
Citat:[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