Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon hva er de viktigste brukstilfellene for Shenandoah og ZGC


hva er de viktigste brukstilfellene for Shenandoah og ZGC


De viktigste brukstilfellene for Shenandoah og ZGC er:

Shenandoah GC:

1. Lav ventetid: Shenandoah er designet for å minimere pausetider ved å utføre det meste av søppeloppsamlingsarbeidet samtidig med applikasjonen. Dette sikrer at applikasjonen forblir responsiv og yter godt selv under mye minnebruk.

2. Høy gjennomstrømning: Shenandoah er designet for å gi høy gjennomstrømning ved å minimere tiden brukt på søppelhenting. Dette sikrer at applikasjonen kan fortsette å kjøre effektivt selv under mye minnebruk.

3. Store hauger: Shenandoah er designet for å håndtere store hauger effektivt, noe som gjør den egnet for applikasjoner som krever store minneallokeringer.

4. Konstant allokering: Shenandoah er egnet for applikasjoner med konstant allokering og bruk av objekter, da den kan håndtere dette effektivt.

5. Eldre objekter: Shenandoah er egnet for applikasjoner der objekter er eldre og kostnadene ved å lage nye objekter er små, siden den kan håndtere dette effektivt.

6. Beholderbruk: Shenandoah kan brukes i containeriserte miljøer, men det avhenger av den spesifikke brukssaken.

ZGC:

1. Lav ventetid: ZGC er designet for å minimere pausetider ved å utføre det meste av søppeloppsamlingsarbeidet samtidig med applikasjonen. Dette sikrer at applikasjonen forblir responsiv og yter godt selv under mye minnebruk.

2. Høy gjennomstrømning: ZGC er designet for å gi høy gjennomstrømning ved å minimere tiden brukt på søppelhenting. Dette sikrer at applikasjonen kan fortsette å kjøre effektivt selv under mye minnebruk.

3. Store hauger: ZGC er designet for å håndtere store hauger effektivt, noe som gjør den egnet for applikasjoner som krever store minneallokeringer.

4. NUMA-Aware: ZGC er designet for å være NUMA-bevisst, noe som betyr at den effektivt kan håndtere store hauger og flere CPU-kjerner.

5. Eksperimentell funksjon: ZGC er en eksperimentell funksjon og krever spesifikke kommandolinjealternativer for å aktivere. Den er egnet for applikasjoner som krever svært korte pausetider og kan håndtere store minneallokeringer.

Oppsummert er både Shenandoah og ZGC designet for å gi lav ventetid og høy gjennomstrømning, noe som gjør dem egnet for applikasjoner som krever effektiv minneadministrasjon.

Sitater:
[1] https://www.opsian.com/blog/aleksey-shipilev-shenandoah-concurrent-gcs/
[2] https://clojure-goes-fast.com/blog/shenandoah-in-production/
[3] https://wiki.openjdk.org/display/shenandoah/Main
[4] https://www.diva-portal.org/smash/get/diva2:1466940/FULLTEXT01.pdf
[5] https://developers.redhat.com/articles/2024/05/28/beginners-guide-shenandoah-garbage-collector