๐Ÿš–

V8 Minor GC

Scavenger

notion image
Cheney's ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์˜ ์›๋ฆฌ๋กœ ์ž‘๋™
์Šค์บ๋นˆ์ € ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ž‘์€ ๋ฐ์ดํ„ฐ๋“ค์„ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ์œ ์šฉ
์Šค์บ๋นˆ์ € GC ๋Š” ์ž์ฃผ ๋ฐœ์ƒ
๋ณ‘๋ ฌ์˜ ํ—ฌํผ ์Šค๋ ˆ๋“œ๋“ค์„ ์‚ฌ์šฉํ•˜๊ธฐ๋•Œ๋ฌธ์— ์•„์ฃผ ๋น ๋ฆ„
ย 
V8 From Space
๊ณต๊ฐ„์ด ๋‹ค ์ฐจ๊ฒŒ ๋˜๋ฉด, minor GC๊ฐ€ ๋ฐœ๋™
ย 

Minor GC

  1. minor GC๋Š” ์žฌ๊ท€์ ์œผ๋กœย from space์˜ ๊ฐ์ฒด ๊ทธ๋ž˜ํ”„๋ฅผ ํ›‘์œผ๋ฉด์„œย active(์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ)๋ฅผ ์ฐพ์•„๋‚ด์–ด ํฌ์ธํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌย to space๋กœ ์ด๋™์‹œํ‚ต๋‹ˆ๋‹ค.
  1. minor GC๊ฐ€ย from space๋ฅผ ๋น„์›Œ๋ฒ„๋ฆฝ๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œย from space์— ๋‚จ์•„์žˆ๋Š” ๊ฐ์ฒด๋“ค์€ ๊ฐ€๋น„์ง€๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค.
  1. minor GC๊ฐ€ย from space์™€ย to space๋ฅผ ์Šค์™‘ํ•˜์—ฌ, ๋ชจ๋“  ๊ฐ์ฒด๋“ค์€ย from space์— ์กด์žฌํ•˜๊ณ ,ย to space๋Š” ๋นˆ ๊ณต๊ฐ„์ด ๋ฉ๋‹ˆ๋‹ค.
ย 

To Old Space

  1. ์œ„ ์ ˆ์ฐจ๊ฐ€ ๋ฐ˜๋ณต๋˜์–ด ๋‘๋ฒˆ์จฐ Minor GC์—์„œ ์‚ด์•„๋‚จ์€ย active ํ‘œ์‹œ๋œ ๊ฐ์ฒด๋“ค์€ย old space๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.ย minor GC๋ฅผ ํ•œ ์‚ฌ์ดํด๋งŒ ์‚ด์•„๋‚จ์€ ๊ฐ์ฒด๋“ค์€ย new space์˜ย to space๋กœ ์ด๋™๋˜๊ณ ,ย active๋กœ ํ‘œ๊ธฐ๋˜์ง€ ๋ชปํ•œ ๊ฐ์ฒด๋“ค์€ ๊ฐ€๋น„์ง€๋กœ ๊ฐ„์ฃผ๋˜์–ด ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.
  1. 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 ์—”์ง„์˜...
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ V8 ์—”์ง„์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ํ”„๋กœ์„ธ์Šค
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.
Cheney's algorithm

Recommendations