G1 GC vs Z GC
Last updated
Last updated
์ด์ ์ GC๋ Young Generation, Old Generation ์์ญ์ด ๊ณ ์ ์ ์ด์๋ค
G1 GC๋ ๊ณ ์ ๋ ์์ญ์ด ์๋ ์ ์ฒด์ ์ธ heap ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ ผ๋ฆฌ์ ์ธ ๋จ์๋ก ๋ฆฌ์ ์ ๋ถ๋ฆฌํ๋ค
G1 GC๋ ์ฌ์ฉํ์ง ์๋ ๊ฐ์ฒด์ ์์ญ์ ์์งํ๊ณ ์์ถํ์ฌ STW๋ฅผ ์ต์ํํ์๋ค
JDK 9๋ถํฐ๋ ๋ํดํธ๋ก ์ค์ ๋์ด ์๋ค
initial mark : old region์์ ์กด์ฌํ๋ ๊ฐ์ฒด๋ค์ด ์ฐธ์กฐํ๋ survivor region์ ์ฐพ๋๋ค
root region scan : initial mark์์ ํ์ธํ region์์ ์๋ ๊ฐ์ฒด๋ฅผ ๋งํนํ๋ค
concurrent mark : heap ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฒด์ ์ผ๋ก ์ค์บํ๋ฉด์ unrechable ๊ฐ์ฒด์ region์ ํ์ธํ๋ค
remark : ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฉ์ถ๊ณ ์ต์ข ์ ์ผ๋ก GC ๋์์์ ์ ์ธ๋ ๊ฐ์ฒด๋ฅผ ์๋ณํด๋ธ๋ค
clean up : ์ด์ ์๋ ๊ฐ์ฒด๊ฐ ๊ฐ์ฅ ์ ์ region์ ๋ํด์ ๋ฏธ์ฌ์ฉ ๊ฐ์ฒด๋ฅผ ์ ๊ฑฐํ๋ค
copy : ์ ๊ฑฐ๋์ง ์๊ณ region์ ์ด์๋จ์ ๊ฐ์ฒด๋ค์ ์๋ก์ด region์ ๋ณต์ฌํ๋ฉฐ compact ์์ ์ ์ํํ๋ค
ZGC๋ ZPages๋ฅผ ์ฌ์ฉํ๋๋ฐ ์ด๋ G1 GC์ Region๊ณผ ๋น์ทํ ์์ญ์ ๊ฐ๋ ์ ์ฌ์ฉํ๋ค
G1 GC์ Region์ ํฌ๊ธฐ๋ ๊ณ ์ ์ด๊ณ , ZPages๋ ํฌ๊ธฐ๊ฐ 2์ ๋ฐฐ์๋ก ๋์ ์ผ๋ก ์์ฑ ๋ฐ ์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ค
ZGC์ ์ฑ๋ฅ์ ํ๋ณดํ๊ธฐ ์ํด์๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ 8MB ๋ถํฐ 16TB ์ฑ๋ฅ์ ์๋ฒ์์ ์ฌ์ฉํ ์ ์๋ค
G1 GC์ compact ๊ณผ์ ์์ ๊ธฐ์กด ๊ฐ์ฒด์ ์๋ก์ด region์ ๋ณต์ฌ๋ ์๋ก์ด ๊ฐ์ฒด๊ฐ ๋๊ธฐํ๊ฐ ์ ์์ ์ผ๋ก ์ด๋ฃจ์ด์ง์ง ์์ ์ ์๋ค๋ ๋ฌธ์ ๊ฐ ์กด์ฌํ๋ค
๊ทธ๋ฆฌ๊ณ ๊ฐ์ฉํ ์ ์๋ region์ ํ๋ณดํด์ ํ ๋นํด์ผ ํ๋๋ฐ ์ด๋ ์๋นํ ๋น์ฉ์ด ๋ ๋ค
์ด๋ฅผ ๊ฐ์ ํ๊ณ ์ ZGC์ compact ๊ณผ์ ์ ์๋ก์ด region์ ์์ฑํ ํ ์ด์์๋ ๊ฐ์ฒด๋ค์ ์ฑ์ฐ๋๋ก ๋์ํ๋ค
ZGC์ ๋ชฉํ๋ ๋ชจ๋ ์ข ๋ฅ์ ๊ณ ๋น์ฉ ์์ ์ ๋์ ์์ ํ๊ณ STW๋ฅผ 10ms๋ฅผ ๋ฏธ๋ง์ผ๋ก ์ค์ด๋ ๊ฒ์ด๋ค
๋จ ,ZGC๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ 8MB ~ 16TB ์ ๋๋ก ๊ณ ์ฌ์์ ์๋ฒ๊ฐ ํ์ํ๋ค
ZGC Heap์ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ค์ํ ์ฌ์ด์ฆ์ ์์ญ์ด ์ฌ๋ฌ๊ฐ ๋ฐ์ํ ์ ์๋ค.
ZGC๊ฐ compaction๋ ํ, ZPage๋ ZPageCache๋ผ ๋ถ๋ฆฌ๋ ์บ์์ ์ฝ์ ๋๋ค.
์บ์ ์์ ZPage๋ ์๋ก์ด Heap ํ ๋น์ ์ํด ์ฌ์ฌ์ฉํ ์ค๋น๋ฅผ ํ๋ค.
๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ปค๋ฐ๊ณผ ์ปค๋ฐํ์ง ์๋ ์์ ์ ๋น์ฉ์ด ํฌ๊ธฐ์ ์บ์์ ์ฑ๋ฅ์ ์ค์ํ ์ํฅ์ ๋ผ์น๋ค.