Files
2nd/10_Wiki/Topics/Allocation Timeline.md
T

3.9 KiB


id: P-Reinforce-B75DFC category: Dev 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