Scavenger

Cheney's ์๊ณ ๋ฆฌ์ฆ ์ ์๋ฆฌ๋ก ์๋
์ค์บ๋น์ ์๊ณ ๋ฆฌ์ฆ์ ์์ ๋ฐ์ดํฐ๋ค์ ๊ด๋ฆฌํ๋๋ฐ ์ ์ฉ
์ค์บ๋น์ GC ๋ ์์ฃผ ๋ฐ์
๋ณ๋ ฌ์ ํฌํผ ์ค๋ ๋๋ค์ ์ฌ์ฉํ๊ธฐ๋๋ฌธ์ ์์ฃผ ๋น ๋ฆ
ย
V8 From Space ๊ณต๊ฐ์ด ๋ค ์ฐจ๊ฒ ๋๋ฉด, minor GC๊ฐ ๋ฐ๋
ย
Minor GC
minor GC๋ ์ฌ๊ท์ ์ผ๋กยfrom space์ ๊ฐ์ฒด ๊ทธ๋ํ๋ฅผ ํ์ผ๋ฉด์ยactive(์ฌ์ฉ๋๊ณ ์๋ ๋ฉ๋ชจ๋ฆฌ)๋ฅผ ์ฐพ์๋ด์ด ํฌ์ธํฐ๋ฅผ ์์ ํ์ฌยto space๋ก ์ด๋์ํต๋๋ค.
minor GC๊ฐยfrom space๋ฅผ ๋น์๋ฒ๋ฆฝ๋๋ค. ์ด ๋จ๊ณ์์ยfrom space์ ๋จ์์๋ ๊ฐ์ฒด๋ค์ ๊ฐ๋น์ง๋ก ๊ฐ์ฃผํฉ๋๋ค.
minor GC๊ฐยfrom space์ยto space๋ฅผ ์ค์ํ์ฌ, ๋ชจ๋ ๊ฐ์ฒด๋ค์ยfrom space์ ์กด์ฌํ๊ณ ,ยto space๋ ๋น ๊ณต๊ฐ์ด ๋ฉ๋๋ค.
ย
To Old Space
- ์ ์ ์ฐจ๊ฐ ๋ฐ๋ณต๋์ด ๋๋ฒ์จฐ Minor GC์์ ์ด์๋จ์ย
activeํ์๋ ๊ฐ์ฒด๋ค์ยold space๋ก ์ด๋ํฉ๋๋ค.ยminor GC๋ฅผ ํ ์ฌ์ดํด๋ง ์ด์๋จ์ ๊ฐ์ฒด๋ค์ยnew space์ยto space๋ก ์ด๋๋๊ณ ,ยactive๋ก ํ๊ธฐ๋์ง ๋ชปํ ๊ฐ์ฒด๋ค์ ๊ฐ๋น์ง๋ก ๊ฐ์ฃผ๋์ด ์ญ์ ๋ฉ๋๋ค.
minor GC๋ ๋ค์ ํ๋ฒยto space์ยfrom space๋ฅผ ์ค์ํ๊ณ ,ยto space๋ ๋น ๊ณต๊ฐ์ด ๋๊ณ ,ยfrom space์ ๋ชจ๋ ๊ฐ์ฒด๋ค์ด ์กด์ฌํ๊ฒ๋ฉ๋๋ค.
ย
ย
Stop the world GC ๋ฐฉ์์ด์ง๋ง ๋นจ๋ผ์ ๊ด์ฐฎ๋ค
ย
์๋ฐ์คํฌ๋ฆฝํธ์ V8 ์์ง์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ํ๋ก์ธ์ค
๋ค์ด๋ฒ ์ฃผ๋ฌธ ๊ฐ๋ฐ์ ์ฌ์๋
์ฌ๋ฆ์ ์ฒ์ ์์ํ๋ค๊ณ ๋ฏฟ๊ธฐ ํ๋ค ์ ๋๋ก ์๋ก์ด ๊ธฐ๋ฅ๊ณผ ์ปจํ
์ธ ๋ค์ด ๋งค์ผ๊ฐ์ด ํ์ํ๊ณ ์๋๋ฐ์. ๊ฐ๋ฐ์ ์ค์ํ์ง๋ง ์ฝ๊ฒ ์ํ์ง ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๋ํด ์๊ฐํด๋๋ฆฝ๋๋ค ๐ 1. Introduction 2. Random-access memory 3. Memory Management 4. Memory Leak 5. V8 ์์ง์...
https://medium.com/naver-place-dev/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%99%80-v8-%EC%97%94%EC%A7%84%EC%9D%98-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B4%80%EB%A6%AC-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-f45091e696e1

Cheney's algorithm
Cheney's algorithm, first described in a 1970 ACM paper by C.J. Cheney, is a stop and copy method of tracing garbage collection in computer software systems. In this scheme, the heap is divided into two equal halves, only one of which is in use at any one time.
https://en.wikipedia.org/wiki/Cheney%27s_algorithm
