ガーベジコレクション(がーべじこれくしょん)

プログラムが実行中に動的に確保した主記憶のヒープ領域のうち、どこからも参照されなくなった不要な領域を自動的に検出し、解放して再利用できるようにするメモリ管理機能。GC(Garbage Collection)とも略され、解放漏れによるメモリリークを防ぐ役割を持つ。

詳細解説

言語処理系や実行環境が、変数やオブジェクトの参照関係を追跡することで不要な領域を見つけ出し、空き領域へと戻します。参照の追跡にはCPUの負荷がかかるため、多くの処理系では不要な領域が生じるたびではなく、空きメモリが不足したときやアイドル時などにまとめて回収を行います。実行中は本来のアプリケーション処理が一時停止することがあるため、応答時間を重視するリアルタイムシステムなどでは注意が必要です。

記憶管理の他の用語と混同しやすい点として、主記憶上に散在する細切れの空き領域を移動・結合して連続した大きな空き領域を作る処理はメモリコンパクション(ガーベジコレクションの方式によっては内部で併せて行われる場合もあります)と呼ばれます。また、仮想記憶において主記憶にないページを補助記憶装置から読み込むページインとも全く別の仕組みです。

ガーベジコレクションが問われた過去問

  • 2021(R3)春 午前 問18プログラム実行時の主記憶管理に関する記述として,適切なものはどれか。
  • 2022(R4)秋 午前II 問8プログラム実行時の主記憶管理に関する記述として,適切なものはどれか。

ガーベジコレクションが登場する過去問

関連する分野

OS・ソフトウェア 仮想記憶・主記憶管理

用語集の一覧へ