Lab 03: Memory Management
Step 1: V8 Heap Spaces
┌─────────────────────────────────────────────────────┐
│ V8 HEAP │
│ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ New Space │ │ Old Space │ │
│ │ (Scavenge) │→ │ (Mark- │ │
│ │ short-lived │ │ Sweep) │ │
│ └─────────────┘ └─────────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌────────────┐ │
│ │ Large Obj. │ │ Code Space │ │ Map Space │ │
│ │ > 512 KB │ │ (JIT code) │ │(HiddenClass│ │
│ └─────────────┘ └─────────────┘ └────────────┘ │
└─────────────────────────────────────────────────────┘Step 2: Heap Statistics with v8.getHeapStatistics()
v8.getHeapStatistics()Step 3: process.memoryUsage() in Detail
process.memoryUsage() in DetailStep 4: WeakRef + FinalizationRegistry
Step 5: Common Memory Leak Patterns
Step 6: Heap Snapshot Analysis (Concept)
Step 7: --max-old-space-size and GC Tuning
--max-old-space-size and GC TuningStep 8: Capstone — Memory Leak Detector
Summary
Concept
Tool / API
Use Case
Last updated
