A JVM-paraméterek konfigurálásához a szemétgyűjtési szünetek minimalizálása érdekében kövesse az alábbi lépéseket:
1. Állítsa be a kupac méretét:
- Állítsa be a maximális kupacméretet:- Használja az "-Xmx" jelzőt a maximális kupacméret beállításához.
- Például az "-Xmx2g" a maximális kupacméretet 2 GB-ra állítja be.
- Állítsa be a kezdeti kupacméretet:
- Használja az "-Xms" jelzőt a kezdeti kupacméret beállításához.
- Például az "-Xms2g" a kezdeti kupacméretet 2 GB-ra állítja be.
2. Állítsa be a fiatal generáció méretét:
- Állítsa be a fiatal generáció méretét:- Használja az "-Xmn" jelzőt a fiatal generáció méretének beállításához.
- Például az "-Xmn1g" a fiatal generáció méretét 1 GB-ra állítja.
3. Állítsa be a szemétgyűjtőt:
- Használja a Garbage-First (G1) szemétgyűjtőt:- Használja a "-XX:+UseG1GC" jelzőt a G1 szemétgyűjtő engedélyezéséhez.
- Ezt a kollektort úgy tervezték, hogy minimalizálja a szünetidőt.
4. Állítsa be a maximális szünetidőt:
- Állítsa be a maximális szünetidőt:- Használja a "-XX:MaxGCPauseMillis" jelzőt a maximális szünetidő beállításához.
- Például a "-XX:MaxGCPauseMillis=200" a maximális szünetidőt 200 ezredmásodpercre állítja be.
5. Állítsa be a párhuzamos GC-szálakat:
- Állítsa be a párhuzamos GC-szálak számát:- Használja a "-XX:ParallelGCThreads" jelzőt a párhuzamos GC-szálak számának beállításához.
- Például a `-XX:ParallelGCThreads=20` 20-ra állítja a párhuzamos GC-szálak számát.
6. Állítsa be a párhuzamos GC-szálakat:
- Állítsa be az egyidejű GC-szálak számát:- Használja a "-XX:ConcGCThreads" jelzőt az egyidejű GC-szálak számának beállításához.
- Például a "-XX:ConcGCThreads=5" 5-re állítja az egyidejű GC-szálak számát.
7. Állítsa be a kezdeti halom kihasználtsági százalékát:
- Állítsa be a kezdeti halom kihasználtsági százalékát:- Használja a "-XX:InitiatingHeapOccupancyPercent" jelzőt a kezdeményező kupac kihasználtsági százalékának beállításához.
- Például a "-XX:InitiatingHeapOccupancyPercent=70" a kezdeményező halom kihasználtsági százalékát 70%-ra állítja.
8. Megfigyelés és beállítás:
- A szemétgyűjtés figyelése:- Használjon olyan eszközöket, mint a VisualVM vagy a GCeasy a szemétgyűjtés figyeléséhez.
- Szükség szerint állítsa be a JVM paramétereit a szünetidők minimalizálása érdekében.
Az alábbi lépések követésével konfigurálhatja a JVM-paramétereket a szemétgyűjtési szünetek minimalizálása és az alkalmazások hatékony teljesítményének biztosítása érdekében.
Idézetek:[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