メモリリークとは?
メモリリークとは、動的に確保した記憶領域を解放し忘れ、使われないまま占有され続ける不具合。1回あたりの量が小さくても長時間稼働するサーバでは蓄積し、やがて空き領域の不足やページングの多発を招いて性能低下や異常終了に至る。
高度試験・午前I(全区分共通)の過去問では1回出題されています。
めもりりーく
メモリリークの意味
動的に確保した記憶領域を解放し忘れ、使われないまま占有され続ける不具合。1回あたりの量が小さくても長時間稼働するサーバでは蓄積し、やがて空き領域の不足やページングの多発を招いて性能低下や異常終了に至る。
メモリリークの具体例
数日は正常でも週末に応答が急激に悪化する障害では、メモリ使用量の時系列グラフが右肩上がりの階段状になっていないかを見る。再起動で一時的に直り、時間経過でまた悪化するという再現性は、リークを強く示唆する典型的な兆候である。
メモリリークは試験でどう引っ掛けられる?
ガーベジコレクションがある処理系でも、参照が残り続ければ回収されないためリークは起きる。またフラグメンテーションは「解放済みだが小片化して使えない」状態であり、「解放されていない」リークとは原因も対処も異なる。
メモリリークと関連する用語
メモリリークが出た過去問
プログラム実行時の主記憶管理に関する記述として、適切なものはどれか。
正解:プログラムが使用しなくなったヒープ領域を回収して再度使用可能にすることを、ガーベジコレクションという。
要点:GCは参照されなくなったヒープ領域を自動回収する
ガーベジコレクションは、プログラムが動的に確保したヒープ領域のうち、どこからも参照されなくなった領域を自動的に検出して回収し、再利用可能にする仕組みである。解放漏れによるメモリリークを防げる一方、回収処理のために実行が一時停止することがある。
出典:平成28年度 秋期 高度共通_午前I試験 am1 問6(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。