コンテンツへスキップ
uencoder

Memory Leak

メモリリークとは、プログラムが確保したのに解放できないメモリ(参照は残っているがもう使われない)である。メモリ使用量が増え続ける原因となる。

目的

メモリリークを特定して修正し、長時間動くプロセスの OOM を防ぐ。

メカニズム

よくある原因は、意図しないグローバル変数、未解除のタイマーやリスナー、大きなオブジェクトを捕捉するクロージャ、増え続ける Map/Set である。Chrome DevTools のヒープスナップショットを比較して漏えいを特定する。弱参照(WeakMap/WeakRef)で予防できる。

ユースケース

  • パフォーマンス診断
  • 長く動かすシステムの安定性
  • メモリの最適化

関連用語

References