--- id: P-REINFORCE-AUTO-5AE3F9 category: "[[10_Wiki/๐Ÿ’ก Topics/Programming & Language]]" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Chrome DevTools Memory Panel" --- # [[Chrome DevTools Memory Panel]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > Chrome DevTools Memory Panel์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ Node.js ํ™˜๊ฒฝ์—์„œ ํž™(Heap) ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ”„๋กœํŒŒ์ผ๋งํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์ง„๋‹จํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ๋ถ„ํฌ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค [1-3]. ์ด ํŒจ๋„์€ ์ฃผ๋กœ ํž™ ์Šค๋ƒ…์ƒท(Heap snapshot), ํƒ€์ž„๋ผ์ธ์˜ ํ• ๋‹น ๊ณ„์ธก(Allocation instrumentation on timeline), ํ• ๋‹น ์ƒ˜ํ”Œ๋ง(Allocation sampling)์ด๋ผ๋Š” ์„ธ ๊ฐ€์ง€ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [2, 4]. ๊ฐœ๋ฐœ์ž๋Š” ์ด ํŒจ๋„์„ ํ™œ์šฉํ•ด ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(GC) ์ดํ›„์—๋„ ๋ฉ”๋ชจ๋ฆฌ์— ๋‚จ์•„ ์žˆ๋Š” ๊ฐ์ฒด์˜ ์ฐธ์กฐ ์ฒด์ธ์„ ์—ญ์ถ”์ ํ•˜๊ณ  ๊ทผ๋ณธ ์›์ธ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [1, 2, 5, 6]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **์ฃผ์š” ํ”„๋กœํŒŒ์ผ๋ง ๋„๊ตฌ (Profiling Tools)** * **ํž™ ์Šค๋ƒ…์ƒท (Heap snapshot):** ํŠน์ • ์‹œ์ ์˜ ์ „์ฒด ๊ฐ์ฒด ๊ทธ๋ž˜ํ”„๋ฅผ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค [2]. ๊ฐ์ฒด ์ž์ฒด๊ฐ€ ๋ณด์œ ํ•œ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ์ธ 'Shallow size'์™€ ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ์‚ญ์ œํ–ˆ์„ ๋•Œ ์—ฐ์‡„์ ์œผ๋กœ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ์ธ 'Retained size'๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค [7]. ์š”์•ฝ(Summary), ๋น„๊ต(Comparison), ํฌํ•จ(Containment), ํ†ต๊ณ„(Statistics) ๋ทฐ๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ๋‘ ์Šค๋ƒ…์ƒท์„ ๋น„๊ตํ•˜์—ฌ ๊ทธ ์‚ฌ์ด์— ํ• ๋‹น๋œ ๊ฐ์ฒด๋ฅผ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [8-10]. * **ํƒ€์ž„๋ผ์ธ์˜ ํ• ๋‹น ๊ณ„์ธก (Allocation instrumentation on timeline):** ํž™ ํ”„๋กœํŒŒ์ผ๋Ÿฌ์˜ ์ƒ์„ธ ์Šค๋ƒ…์ƒท ์ •๋ณด์™€ ํƒ€์ž„๋ผ์ธ์˜ ์ ์ง„์  ์—…๋ฐ์ดํŠธ๋ฅผ ๊ฒฐํ•ฉํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค [11, 12]. ์ตœ๋Œ€ 50ms ๊ฐ„๊ฒฉ์œผ๋กœ ์Šค๋ƒ…์ƒท์„ ๊ธฐ๋กํ•˜๋ฉฐ, ํƒ€์ž„๋ผ์ธ ์ƒ์— ํŒŒ๋ž€์ƒ‰ ๋ง‰๋Œ€(๊ธฐ๋ก ์ข…๋ฃŒ ์‹œ์ ๊นŒ์ง€ ์‚ด์•„์žˆ๋Š” ๊ฐ์ฒด)์™€ ํšŒ์ƒ‰ ๋ง‰๋Œ€(์ด๋ฏธ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜๋œ ๊ฐ์ฒด)๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค [13-15]. ํŠน์ • ์‹œ๊ฐ„๋Œ€๋กœ ๋งˆ์šฐ์Šค๋ฅผ ๋“œ๋ž˜๊ทธํ•˜์—ฌ ํ™•๋Œ€ํ•˜๋ฉด ํ•ด๋‹น ์‹œ์ ์— ์ƒ์„ฑ๋˜์–ด ๋ˆ„์ˆ˜๊ฐ€ ์˜์‹ฌ๋˜๋Š” ๊ฐ์ฒด๋ฅผ ์ง‘์ค‘์ ์œผ๋กœ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2, 16]. * **ํ• ๋‹น ์ƒ˜ํ”Œ๋ง (Allocation sampling):** ๋ชจ๋“  ํ• ๋‹น์„ ์ถ”์ ํ•˜๋Š” ๋Œ€์‹  ํ†ต๊ณ„์  ์ƒ˜ํ”Œ๋ง ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๋‚ฎ์ถ˜ ๊ฐ€๋ฒผ์šด ๋„๊ตฌ๋กœ, ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์˜ ํ”„๋กœํŒŒ์ผ๋ง์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค [4]. * **๋ณด์œ ์ž ํŒจ๋„ ๋ฐ ๊ฐ์ฒด ์‹๋ณ„ (Retainers and Object Identification)** * ํŠน์ • ์ƒ์„ฑ์ž๋‚˜ ๊ฐ์ฒด๋ฅผ ํด๋ฆญํ•˜๋ฉด ํ•˜๋‹จ(๋˜๋Š” ์ธก๋ฉด)์˜ Retainers ํŒจ๋„์— ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์‚ด์•„์žˆ๊ฒŒ ๋งŒ๋“œ๋Š” ์ฐธ์กฐ ์ฒด์ธ(Retaining tree)์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค [2, 5, 16]. ๊ฐœ๋ฐœ์ž๋Š” ์ด ๊ฒฝ๋กœ๋ฅผ ์ „์—ญ ๊ฐ์ฒด(Global object)๋‚˜ GC ๋ฃจํŠธ๊นŒ์ง€ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ ๋ถˆํ•„์š”ํ•œ ์ฐธ์กฐ๋ฅผ ์ œ๊ฑฐํ•  ๋‹จ์„œ๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค [1, 2, 6, 17]. * ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์ค‘์—๋Š” ๊ฐ์ฒด์˜ ์ฃผ์†Œ๊ฐ€ ์ด๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, V8 ์—”์ง„์€ ๋ฉ”๋ชจ๋ฆฌ ์ƒํƒœ๋ฅผ ์ •ํ™•ํžˆ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ๊ฐ์ฒด์— `@` ๊ธฐํ˜ธ๊ฐ€ ๋ถ™์€ ์˜๊ตฌ์ ์ธ ์‹๋ณ„์ž ID(์˜ˆ: `@12345`)๋ฅผ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค [13, 18, 19]. * **๋‚ด๋ถ€ ๊ฐ์ฒด ๋ฐ ํ•„ํ„ฐ๋ง ๊ณ ๋ ค์‚ฌํ•ญ (Internal Objects & Filtering)** * ์›์‹œ ํž™ ์Šค๋ƒ…์ƒท์—๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง๊ณผ ์ง์ ‘์ ์ธ ๊ด€๋ จ์ด ์—†๋Š” `(compiled code)`, `(array)`, `system / Context` ๋“ฑ V8 ๋‚ด๋ถ€ ๊ฐ์ฒด๊ฐ€ ์ˆ˜์ฒœ ๊ฐœ ์ด์ƒ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [20-23]. ๋”ฐ๋ผ์„œ ๋ถ„์„ ์‹œ 'Constructor' ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ ์œ ์˜ ๊ฐ์ฒด์— ์ดˆ์ ์„ ๋งž์ถ”๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [20]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Programming & Language ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[Heap Snapshot]], [[Garbage Collection]], [[Memory Leak]], [[Retaining Path]] - **Projects/Contexts:** [[V8 Engine]], [[Node.js]] - **Contradictions/Notes:** - ์Šค๋ƒ…์ƒท ์ƒ์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๊ทธ๋ž˜ํ”„๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค๊ณ  ํ•ด์„œ ๋ฌด์กฐ๊ฑด ๋ˆ„์ˆ˜(Leak)์ธ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์บ์‹œ(Caches), ์‹คํ–‰ ์ทจ์†Œ ๊ธฐ๋ก(Undo histories), ๊ฐ€์ƒํ™”๋œ ๋ฆฌ์ŠคํŠธ ๋ฒ„ํผ ๋“ฑ์€ ์˜๋„์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์กดํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์˜๋„๋œ ๋ณด์กด๊ณผ ์šฐ๋ฐœ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ๊ตฌ๋ณ„ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค [20]. - DevTools ์ฝ˜์†”์—์„œ `console.log`๋กœ ์ถœ๋ ฅ๋œ ๊ฐ์ฒด๋Š” ์ฝ˜์†”์—์„œ ๋„๋‹ฌ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฐธ์กฐ๊ฐ€ ์œ ์ง€๋˜์–ด ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋กœ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„์ˆ˜ ์กฐ์‚ฌ ์ค‘์—๋Š” ์ฝ˜์†”์„ ์ง€์šฐ๊ฑฐ๋‚˜ ํฐ ๊ฐ์ฒด๋ฅผ ๋กœ๊น…ํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค [20]. --- *Last updated: 2026-04-19* - Raw Source: [[00_Raw/2026-04-20/Chrome DevTools Memory Panel.md]] ---