--- id: P-REINFORCE-AUTO-C312D4 category: "10_Wiki/๐Ÿ’ก Topics/Programming & Language" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Old Space" --- # [[Old Space|Old Space]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > Old Space(๋˜๋Š” Old generation)๋Š” V8 ์—”์ง„์˜ ๋ฉ”๋ชจ๋ฆฌ ํž™ ๊ตฌ์กฐ์—์„œ ๋‹จ๊ธฐ ์ƒ์กด ์˜์—ญ์ธ New Space์—์„œ ์—ฌ๋Ÿฌ ์ฐจ๋ก€์˜ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(GC)์„ ๊ฒฌ๋ŽŒ๋‚ธ ์žฅ๊ธฐ ์ƒ์กด ๊ฐ์ฒด๋“ค์ด ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค [1-3]. ์ฃผ๋กœ ์‚ฌ์šฉ์ž ์„ธ์…˜, ์บ์‹œ ๋ฐ์ดํ„ฐ, ์˜๊ตฌ ์ƒํƒœ์™€ ๊ฐ™์€ ์žฅ๊ธฐ ๋ณด์กด ๋ฐ์ดํ„ฐ๊ฐ€ ์ด๊ณณ์— ๋ณด๊ด€๋ฉ๋‹ˆ๋‹ค [4]. ์ด ๊ณต๊ฐ„์€ ์ˆ˜๋ฐฑ ๋ฉ”๊ฐ€๋ฐ”์ดํŠธ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋„๋ก ํ›จ์”ฌ ํฌ๊ฒŒ ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, Mark-Sweep ๋ฐ Mark-Compact ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” Major GC์— ์˜ํ•ด ๋œ ๋นˆ๋ฒˆํ•˜์ง€๋งŒ ๋” ๋งŽ์€ ๋ฆฌ์†Œ์Šค๋ฅผ ์†Œ๋ชจํ•˜์—ฌ ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค [4-7]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **๊ฐ์ฒด ์Šน๊ฒฉ(Promotion) ๋ฉ”์ปค๋‹ˆ์ฆ˜:** ๊ฐ์ฒด๋Š” ์ฒ˜์Œ์— New Space์— ํ• ๋‹น๋œ ํ›„, ๋‘ ๋ฒˆ์˜ ๋งˆ์ด๋„ˆ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(Minor GC ๋˜๋Š” Scavenge)์—์„œ ์‚ด์•„๋‚จ์œผ๋ฉด Old Space๋กœ ์Šน๊ฒฉ(promotion)๋ฉ๋‹ˆ๋‹ค [1, 3, 8]. Old Space๋Š” ๋‹จ๊ธฐ ๊ฐ์ฒด๋ฅผ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์ˆ˜์ง‘ํ•˜๋Š” New Space์™€ ๋‹ฌ๋ฆฌ ์žฅ๊ธฐ์ ์ธ ์ €์žฅ ๋ชฉ์ ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค [6]. * **๊ณต๊ฐ„์˜ ์„ธ๋ถ„ํ™”:** Old Space๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์ฒ˜๋ฆฌ๋ฅผ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ํ•˜์œ„ ๊ณต๊ฐ„์œผ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค [2, 3, 6]. * **Old-pointer-space:** ๋‹ค๋ฅธ ๊ฐ์ฒด๋“ค์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋‚ด๋ถ€ ํฌ์ธํ„ฐ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์žฅ๊ธฐ ์ƒ์กด ๊ฐ์ฒด๋“ค์ด ๋ณด๊ด€๋ฉ๋‹ˆ๋‹ค [2, 3, 9]. * **Old-data-space:** ๋‹ค๋ฅธ ๊ฐ์ฒด์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ ์—†์ด ์ˆœ์ˆ˜ํ•˜๊ฒŒ ๋กœ์šฐ ๋ฐ์ดํ„ฐ(๋ฌธ์ž์—ด, unboxed double ๋ฐฐ์—ด ๋“ฑ)๋งŒ ํฌํ•จํ•˜๋Š” ๊ฐ์ฒด๋“ค์ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค [2, 3, 9]. ์ด ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„์€ GC์˜ ๋งˆํ‚น ๋‹จ๊ณ„์—์„œ ํฌ์ธํ„ฐ ์ถ”์ (tracing)์„ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ์–ด ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์†Œ์š” ์‹œ๊ฐ„์„ ์ค„์—ฌ์ค๋‹ˆ๋‹ค [6]. * **Major GC (๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜):** Old Space์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋Š” Mark-Sweep ๋ฐ Mark-Compact ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ˆ˜ํ–‰ํ•˜๋Š” Major GC(์ „์ฒด ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜) ์‚ฌ์ดํด์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค [1, 3, 5]. ์ผ์ •๋Ÿ‰์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ Old Space๋กœ ์Šน๊ฒฉ๋˜๋ฉด Major GC๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ๋˜์–ด ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋ฉ”๋ชจ๋ฆฌ(Garbage)๋ฅผ ํ•ด์ œํ•˜๊ณ  ๋ผ์ด๋ธŒ ๊ฐ์ฒด๋“ค์„ ์••์ถ•ํ•˜์—ฌ ํŒŒํŽธํ™”๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค [1, 7, 10]. * **Write Barriers ๋ฐ ์ €์žฅ ๋ฒ„ํผ(Store Buffer):** Old Space์˜ ๊ฐ์ฒด๊ฐ€ New Space์˜ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ฒฝ์šฐ, V8 ์—”์ง„์€ ์ด ์ฐธ์กฐ๋ฅผ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด 'Write Barrier' ์ฝ”๋“œ์™€ 'Store Buffer'๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค [11-13]. ์ด๋Š” ์Šค์บ๋นˆ์ €(Scavenger)๊ฐ€ New Space๋ฅผ ์ˆ˜์ง‘ํ•  ๋•Œ Old Space ์ „์ฒด๋ฅผ ์Šค์บ”ํ•˜์ง€ ์•Š๊ณ ๋„ ํ•ด๋‹น ์ฐธ์กฐ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค [11, 13]. * **๋ฉ”๋ชจ๋ฆฌ ํŠœ๋‹ ๋ฐ ๋ˆ„์ˆ˜ ๊ฐ์ง€:** `--trace-gc-verbose` ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•  ๋•Œ, Major GC ์ด๋ฒคํŠธ ์ดํ›„์—๋„ Old space์˜ ์‚ฌ์šฉ๋Ÿ‰์ด ์ง€์†์ ์œผ๋กœ ์ฆ๊ฐ€ํ•œ๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜(Memory Leak)๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฐ•๋ ฅํ•œ ์ง€ํ‘œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค [14]. ๊ฐœ๋ฐœ์ž๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์— ๋งž๊ฒŒ `--initial_old_space_size` ๋ฐ `--max-old-space-size` ์ปค๋งจ๋“œ๋ผ์ธ ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Old Space์˜ ํฌ๊ธฐ๋ฅผ ์ง์ ‘ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [3, 15]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Programming & Language ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[New Space|New Space]], [[Major GC|Major GC]], [[Mark-Sweep-Compact|Mark-Sweep-Compact]], [[Write Barrier|Write Barrier]], [[Garbage Collection|Garbage Collection]] - **Projects/Contexts:** [[V8 Engine|V8 Engine]], [[Node.js Memory Management|Node.js Memory Management]] - **Contradictions/Notes:** ์†Œ์Šค์— ๋”ฐ๋ฅด๋ฉด V8์€ ํ•„์š”ํ•  ๊ฒฝ์šฐ ์šด์˜์ฒด์ œ์— ๋” ๋งŽ์€ ๊ณต๊ฐ„์„ ์š”์ฒญํ•˜์—ฌ Old Space ํฌ๊ธฐ๋ฅผ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, V8 Memory Cage(๋ณด์•ˆ ์ƒŒ๋“œ๋ฐ•์Šค ๋ฐ ํฌ์ธํ„ฐ ์••์ถ•) ๊ธฐ๋Šฅ์ด ํ™œ์„ฑํ™”๋œ 64๋น„ํŠธ ์‹œ์Šคํ…œ์—์„œ๋Š” ๋ฌผ๋ฆฌ์  RAM ์šฉ๋Ÿ‰์— ๊ด€๊ณ„์—†์ด V8 ํž™ ์ „์ฒด ํฌ๊ธฐ๊ฐ€ ์ตœ๋Œ€ 4GB์˜ ์—ฐ์†์ ์ธ ์˜์—ญ์œผ๋กœ ์—„๊ฒฉํžˆ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค [16-18]. ๋”ฐ๋ผ์„œ Old Space ์—ญ์‹œ ์ด 4GB ์ œํ•œ์˜ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/Old Space.md ---