Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon kaip galiu sumažinti vidutinį šiukšlių surinkimo pristabdymo laiką mano CI/CD vamzdyne


kaip galiu sumažinti vidutinį šiukšlių surinkimo pristabdymo laiką mano CI/CD vamzdyne


Jei norite sutrumpinti vidutinį šiukšlių surinkimo pristabdymo laiką CI / CD vamzdyne, galite atlikti šiuos veiksmus:

1. Optimizuokite šiukšlių surinkimo nustatymus:

- Padidinkite jaunosios kartos dydį:
- Padidinti jaunosios kartos skaičių, kad būtų sumažintas šiukšlių surinkimo dažnis.
- Tai galima padaryti nustatant JVM argumentą „-Xmn“ arba „-XX:NewRatio“.

- Sureguliuokite šiukšlių surinkimo intervalą:
- Sureguliuokite šiukšlių surinkimo intervalą, kad sumažintumėte pauzės laiką.
– Tai galima padaryti nustatant JVM argumentą „-Dsun.rmi.dgc.server.gcInterval“ arba „-Dsun.rmi.dgc.client.gcInterval“.

2. Stebėkite ir analizuokite šiukšlių surinkimą:

Naudokite šiukšlių surinkimo profiliavimo priemones:
- Norėdami stebėti ir analizuoti šiukšlių surinkimą, naudokite tokius įrankius kaip JProfiler, YourKit arba JVisualVM.
- Šie įrankiai gali padėti nustatyti atminties nutekėjimą, optimizuoti objektų kūrimo greitį ir sumažinti šiukšlių surinkimo pauzės laiką.

3. Optimizuokite objektų kūrimo rodiklius:

- Sumažinti objektų kūrimą:
- Sumažinkite objektų kūrimo jūsų programoje greitį.
- Tai galima padaryti optimizuojant kodą, kad būtų sukurta mažiau objektų, arba naudojant talpyklos mechanizmus.

4. Naudokite kartu atliekamą šiukšlių surinkimą:

Įgalinti vienu metu vykstantį šiukšlių surinkimą:
- Įgalinkite šiukšlių rinkimą vienu metu, kad sumažintumėte pauzės laiką.
– Tai galima padaryti nustatant JVM argumentą „-XX:+UseConcMarkSweepGC“.

5. Stebėkite ir optimizuokite atminties naudojimą:

- Stebėti atminties naudojimą:
- Stebėkite atminties naudojimą, kad nustatytumėte atminties nutekėjimą ir optimizuotumėte atminties naudojimą.
- Tai galima padaryti naudojant tokius įrankius kaip VisualVM arba GCeasy.

6. Išbandyti ir patikslinti:

- Išbandyti ir patikslinti nustatymus:
- Išbandykite ir patobulinkite šiukšlių surinkimo nustatymus, kad pasiektumėte optimalų našumą.
- Tai galima padaryti paleidus programą, kai ji yra įkelta, ir stebint šiukšlių surinkimo pauzės laiką.

Atlikdami šiuos veiksmus, galite sumažinti vidutinį šiukšlių surinkimo pauzės laiką CI / CD vamzdyne ir užtikrinti efektyvų programos veikimą.

Citatos:
[1] https://www.dynatrace.com/resources/ebooks/javabook/reduce-garbage-collection-pause-time/
[2] https://blog.heaphero.io/2018/07/10/micrometrics-for-ci-cd-pipeline/
[3] https://dzone.com/articles/how-to-reduce-long-gc-pause
[4] https://blog.gceasy.io/2018/07/10/micrometrics-for-ci-cd-pipeline/
[5] https://github.com/cypress-io/cypress/issues/8525