JVM-parametrit minimoidaksesi jätteenkeräyksen taukoja, voit noudattaa näitä ohjeita:
1. Aseta keon koko:
- Aseta keon enimmäiskoko:- Käytä `-Xmx`-lippua asettaaksesi keon enimmäiskoon.
- Esimerkiksi "-Xmx2g" asettaa keon enimmäiskooksi 2 Gt.
- Aseta keon alkukoko:
- Käytä "-Xms"-lippua asettaaksesi alkuperäisen keon koon.
- Esimerkiksi "-Xms2g" asettaa alkukeon kooksi 2 Gt.
2. Määritä nuoren sukupolven koko:
- Aseta nuoren sukupolven koko:- Käytä "-Xmn"-lippua asettaaksesi nuoren sukupolven koon.
- Esimerkiksi "-Xmn1g" asettaa nuoren sukupolven kooksi 1 Gt.
3. Aseta roskienkeräin:
- Käytä Garbage-First (G1) -jätteenkerääjää:- Käytä `-XX:+UseG1GC` -lippua ottaaksesi G1-jätteenkeräimen käyttöön.
- Tämä keräin on suunniteltu minimoimaan taukoajat.
4. Aseta enimmäistaukoaika:
- Aseta enimmäistaukoaika:- Käytä `-XX:MaxGCPauseMillis`-lippua asettaaksesi enimmäistaukoajan.
- Esimerkiksi "-XX:MaxGCPauseMillis=200" asettaa enimmäistaukoajaksi 200 millisekuntia.
5. Aseta rinnakkaiset GC-langat:
- Aseta rinnakkaisten GC-säikeiden lukumäärä:- Käytä "-XX:ParallelGCThreads" -lippua asettaaksesi rinnakkaisten GC-säikeiden lukumäärän.
- Esimerkiksi "-XX:ParallelGCThreads=20" asettaa rinnakkaisten GC-säikeiden lukumääräksi 20.
6. Aseta samanaikaiset GC-säikeet:
- Aseta samanaikaisten GC-säikeiden lukumäärä:- Käytä `-XX:ConcGCThreads` -lippua asettaaksesi samanaikaisten GC-säikeiden lukumäärän.
- Esimerkiksi "-XX:ConcGCThreads=5" asettaa samanaikaisten GC-säikeiden lukumääräksi 5.
7. Aseta aloituskasan käyttöaste:
- Aseta aloituskasan käyttöaste:- Käytä "-XX:InitiatingHeapOccupancyPercent" -lippua asettaaksesi aloituskeon käyttöasteen prosenttiosuuden.
- Esimerkiksi "-XX:InitiatingHeapOccupancyPercent=70" asettaa aloituskeon käyttöasteen prosentiksi 70 %.
8. Valvo ja säädä:
- Seuraa roskakeräystä:- Käytä työkaluja, kuten VisualVM tai GCeasy, seurataksesi roskien keräämistä.
- Säädä JVM-parametreja tarpeen mukaan minimoidaksesi taukoajat.
Seuraamalla näitä vaiheita voit määrittää JVM-parametrit minimoimaan roskankeräystaukoja ja varmistamaan tehokkaan sovelluksen suorituskyvyn.
Lainaukset:[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