---
id: P-REINFORCE-B75DFC
category: "[[10_Wiki/💡 Topics/Memory & Systems]]"
confidence_score: 0.95
tags: []
last_reinforced: 2026-04-20
github_commit: "[P-Reinforce] Mega Batch - Wikified Allocation Timeline"
---

# [[Allocation Timeline]]

## 📌 한 줄 통찰 (The Karpathy Summary)
> **Allocation Timeline**(또는 Allocation instrumentation on timeline)은 Chrome DevTools의 Memory 패널에서 제공하는 프로파일링 도구로, 시간 경과에 따른 메모리 할당을 기록하고 추적하여 애플리케이션의 메모리 누수를 진단하는 데 사용됩니다 [1-3]. 이 도구는 힙 프로파일러(Heap Profiler)의 상세한 스냅샷 정보와 타임라인 패널의 증분 업데이트 및 추적 기능을 결합하여 객체의 생성 위치와 유지 경로(retaining path)를 실시간으로 식별할 수 있게 해줍니다 [2, 4, 5].

## 📖 구조화된 지식 (Synthesized Content)
- **동작 원리와 데이터 수집:** Allocation Timeline은 레코딩이 진행되는 동안 주기적으로(최대 50ms 단위로 자주) 힙 스냅샷을 캡처하고, 레코딩이 종료될 때 마지막 스냅샷을 한 번 더 찍어 데이터를 구성합니다 [3, 6, 7]. 할당된 각 객체에는 `@` 기호 뒤에 고유한 객체 ID가 부여되는데, 이 ID는 여러 스냅샷에 걸쳐 지속되므로 메모리 주소가 변경되더라도 힙 상태를 정확하게 비교할 수 있게 해줍니다 [6, 7].
- **타임라인 시각화 및 막대(Bar)의 의미:** 타임라인 상단의 막대는 힙에서 새 객체가 할당된 시점과 그 크기(막대의 높이)를 나타냅니다 [3, 5, 8]. 
  - **파란색 막대 (Blue bars):** 타임라인 종료 시점까지 가비지 컬렉션(GC)되지 않고 메모리에 여전히 살아있는(live) 객체를 의미합니다 [1, 3, 8, 9].
  - **회색 막대 (Gray bars):** 타임라인 동안 할당되었으나 이후 가비지 컬렉터에 의해 성공적으로 수거되어 해제된 객체를 나타냅니다 [1, 3, 8, 9].
- **메모리 누수(Memory Leak) 진단 과정:** 특정 사용자 작업(예: 할당 및 해제 버튼 클릭)을 반복할 때 **파란색 막대가 지속적으로 남는다면 이는 메모리 누수가 발생했을 가능성을 나타내는 주요 지표**입니다 [9, 10]. 분석 시 마우스를 드래그하여 특정 시간대로 확대(zoom in)하면, 해당 기간 동안 할당된 후 예상 수명을 넘겨 해제되지 않은 객체만 `Constructor` 창에 필터링하여 볼 수 있습니다 [1, 10-12].
- **원인 식별 및 스택 트레이스 추적:** `Constructor` 창에서 특정 생성자를 클릭하면 `Retainers` 창에 해당 객체를 메모리에 유지시키는 참조 경로(retaining tree)가 표시됩니다 [11, 13]. 또한 할당된 타임라인 도구는 할당 당시의 스택 트레이스(stack trace)를 제공하므로, 개발자는 메모리 누수를 유발한 객체가 코드의 정확히 어느 부분에서 생성되었는지 파악하고 불필요한 참조를 수정할 수 있습니다 [1, 14, 15].

## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 지식 자산화 및 기존 네트워크 연동 단계.
- **정책 변화:** Memory & Systems 카테고리의 전문성 확보 및 링크 밀도 최적화.

## 🔗 지식 연결 (Graph)
- **Related Topics:** [[Heap Snapshot]], [[Garbage Collection]], [[Memory Leak]], [[Retaining Path]], [[V8 Heap Architecture]]
- **Projects/Contexts:** [[Chrome DevTools]], [[V8 Engine]]
- **Contradictions/Notes:** 소스 전반에 걸쳐 내용의 모순은 없습니다. 다양한 소스가 일관되게 Allocation Timeline의 파란색/회색 막대의 의미와 메모리 누수를 추적하기 위한 스택 트레이스 및 Retainer 분석의 유용성을 강조하고 있습니다.

---
*Last updated: 2026-04-19*
- Raw Source: [[00_Raw/2026-04-20/Allocation Timeline.md]]
---
