Jei norite sukonfigūruoti JVM parametrus ir sumažinti šiukšlių surinkimo pauzes, galite atlikti šiuos veiksmus:
1. Nustatykite krūvos dydį:
- Nustatykite didžiausią krūvos dydį:- Norėdami nustatyti didžiausią krūvos dydį, naudokite žymą „-Xmx“.
- Pavyzdžiui, „-Xmx2g“ nustato didžiausią krūvos dydį iki 2 GB.
- Nustatykite pradinį krūvos dydį:
- Norėdami nustatyti pradinį krūvos dydį, naudokite žymą „-Xms“.
- Pavyzdžiui, „-Xms2g“ nustato pradinį krūvos dydį į 2 GB.
2. Nustatykite jaunosios kartos dydį:
- Nustatykite jaunosios kartos dydį:- Norėdami nustatyti jaunosios kartos dydį, naudokite vėliavėlę „-Xmn“.
- Pavyzdžiui, „-Xmn1g“ nustato jaunosios kartos dydį į 1 GB.
3. Nustatykite šiukšlių rinktuvą:
- Naudokite šiukšlių rinktuvą „Grage-First“ (G1):- Norėdami įjungti G1 šiukšlių rinktuvą, naudokite žymą „-XX:+UseG1GC“.
- Šis kolektorius sukurtas taip, kad sumažintų pauzės laiką.
4. Nustatykite didžiausią pauzės laiką:
- Nustatykite didžiausią pauzės laiką:- Norėdami nustatyti didžiausią pauzės laiką, naudokite žymą „-XX:MaxGCPauseMillis“.
– Pavyzdžiui, „-XX:MaxGCPauseMillis=200“ nustato maksimalią pauzės trukmę iki 200 milisekundžių.
5. Nustatykite lygiagrečius GC siūlus:
- Nustatykite lygiagrečių GC gijų skaičių:- Norėdami nustatyti lygiagrečių GC gijų skaičių, naudokite žymą „-XX:ParallelGCThreads“.
- Pavyzdžiui, „-XX:ParallelGCThreads=20“ lygiagrečių GC gijų skaičių nustato iki 20.
6. Nustatykite lygiagrečias GC gijas:
- Nustatykite lygiagrečių GC gijų skaičių:- Norėdami nustatyti lygiagrečių GC gijų skaičių, naudokite žymą „-XX:ConcGCThreads“.
- Pavyzdžiui, „-XX:ConcGCThreads=5“ nustato lygiagrečių GC gijų skaičių į 5.
7. Nustatykite pradinį krūvos užimtumo procentą:
- Nustatykite pradinį krūvos užimtumo procentą:– Naudokite žymą „-XX:InitiatingHeapOccupancyPercent“, kad nustatytumėte inicijuojančio krūvos užimtumo procentą.
- Pavyzdžiui, „-XX:InitiatingHeapOccupancyPercent=70“ nustato inicijuojančios krūvos užimtumo procentą į 70%.
8. Stebėkite ir reguliuokite:
- Stebėkite šiukšlių surinkimą:- Norėdami stebėti šiukšlių surinkimą, naudokite tokius įrankius kaip VisualVM arba GCeasy.
- Jei reikia, koreguokite JVM parametrus, kad sumažintumėte pauzės laiką.
Atlikdami šiuos veiksmus, galite sukonfigūruoti JVM parametrus, kad sumažintumėte šiukšlių surinkimo pauzes ir užtikrintumėte efektyvų programos veikimą.
Citatos:[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