docs: finalized wiki integrity maintenance (v3.0 standard) - pruned 1400+ stubs and fixed 11k+ ghost links
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
---
|
||||
id: [[P-Reinforce]]-AUTO-9214B8
|
||||
id: [[P-Reinforce|P-Reinforce]]-AUTO-9214B8
|
||||
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]] (구 세대 공간)"
|
||||
github_commit: "[P-Reinforce] Continuous Worker - [[Old Space|Old Space]] (구 세대 공간)"
|
||||
---
|
||||
|
||||
# [[Old Space (구 세대 공간)]]
|
||||
# [[Old Space (구 세대 공간)|Old Space (구 세대 공간]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> Old Space(구 세대 공간)는 V8 자바스크립트 엔진의 힙(Heap) 메모리 영역 중, New Space(신규 공간)에서 발생하는 가비지 컬렉션(GC)을 두 번 이상 생존한 객체들이 승격(Promotion)되어 이동하는 공간입니다 [1-3]. 주로 사용자 세션이나 캐시 데이터 등 수명이 길고 지속적인 상태를 유지하는 객체들을 장기간 저장하는 데 사용됩니다 [4, 5]. 이 공간의 메모리 회수는 빈도가 낮지만 리소스 소모가 큰 [[Major GC]]([[Mark-Sweep]] 및 Mark-Compact 알고리즘)에 의해 관리됩니다 [1, 3, 5].
|
||||
> Old Space(구 세대 공간)는 V8 자바스크립트 엔진의 힙(Heap) 메모리 영역 중, New Space(신규 공간)에서 발생하는 가비지 컬렉션(GC)을 두 번 이상 생존한 객체들이 승격(Promotion)되어 이동하는 공간입니다 [1-3]. 주로 사용자 세션이나 캐시 데이터 등 수명이 길고 지속적인 상태를 유지하는 객체들을 장기간 저장하는 데 사용됩니다 [4, 5]. 이 공간의 메모리 회수는 빈도가 낮지만 리소스 소모가 큰 [[Major GC|Major GC]]([[Mark-Sweep|Mark-Sweep]] 및 Mark-Compact 알고리즘)에 의해 관리됩니다 [1, 3, 5].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **공간의 세분화 및 역할:**
|
||||
@@ -23,7 +23,7 @@ github_commit: "[P-Reinforce] Continuous Worker - [[Old Space]] (구 세대 공
|
||||
Old Space에서는 죽은 메모리가 페이지에 남기는 "구멍(holes)"으로 인해 메모리 단편화(Fragmentation) 문제가 크게 발생합니다 [11]. 큰 공간에서 객체를 이동시키는 것은 계산 비용이 매우 높고 모든 참조 포인터를 업데이트해야 하므로, V8은 매 주기마다 객체를 압축하지 않고 필요할 때만 단편화된 페이지에서 라이브 객체를 다른 페이지의 빈 공간으로 마이그레이션(Compaction)하는 방식을 사용합니다 [12, 13].
|
||||
|
||||
- **메모리 튜닝 및 누수 탐지:**
|
||||
Node.js 애플리케이션에서 대규모 데이터를 처리할 때 `--max-old-space-size` 커맨드라인 플래그를 사용하면 Old Space의 최대 크기(예: 4096MB)를 명시적으로 늘릴 수 있어 잦은 가비지 컬렉션으로 인한 성능 저하를 방지할 수 있습니다 [14, 15]. 또한 `--trace-gc-verbose` 로깅 분석 시, Major GC가 발생한 이후에도 "Old space, used" 크기가 지속적으로 증가한다면 강력한 메모리 누수([[memory]] Leak)의 징후로 판단할 수 있습니다 [16].
|
||||
Node.js 애플리케이션에서 대규모 데이터를 처리할 때 `--max-old-space-size` 커맨드라인 플래그를 사용하면 Old Space의 최대 크기(예: 4096MB)를 명시적으로 늘릴 수 있어 잦은 가비지 컬렉션으로 인한 성능 저하를 방지할 수 있습니다 [14, 15]. 또한 `--trace-gc-verbose` 로깅 분석 시, Major GC가 발생한 이후에도 "Old space, used" 크기가 지속적으로 증가한다면 강력한 메모리 누수([[memory|memory]] Leak)의 징후로 판단할 수 있습니다 [16].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
@@ -31,8 +31,8 @@ github_commit: "[P-Reinforce] Continuous Worker - [[Old Space]] (구 세대 공
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** New Space (신규 공간), Major GC (주요 가비지 컬렉션), Mark-Sweep-Compact, Memory Leak (메모리 누수)
|
||||
- **Projects/Contexts:** [[V8 [[JavaScript]] Engine]], Node.js Memory [[Management]]
|
||||
- **Contradictions/Notes:** 소스에 따르면 Old Space 내의 객체를 옮기는 압축(Compaction) 작업은 비용이 매우 많이 들기 때문에, Minor GC처럼 모든 라이브 객체를 복사하는 방식([[Scavenge]]r)을 쓰지 않고 단편화가 심한 특정 페이지에 대해서만 제한적으로 압축을 수행합니다 [12, 13].
|
||||
- **Projects/Contexts:** [[V8 JavaScript Engine|V8 JavaScript Engine]], Node.js Memory [[Management|Management]]
|
||||
- **Contradictions/Notes:** 소스에 따르면 Old Space 내의 객체를 옮기는 압축(Compaction) 작업은 비용이 매우 많이 들기 때문에, Minor GC처럼 모든 라이브 객체를 복사하는 방식([[Scavenge|Scavenge]]r)을 쓰지 않고 단편화가 심한 특정 페이지에 대해서만 제한적으로 압축을 수행합니다 [12, 13].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
|
||||
Reference in New Issue
Block a user