メモリコンパクション 【memory compaction】
概要
メモリコンパクション(memory compaction)とは、オペレーティングシステム(OS)などが持つメインメモリ(RAM)の管理機能の一つで、空き領域の断片化を解消し、連続した広い空間に再編すること。プログラムを長時間実行していると、コードやデータの配置と破棄のためにメモリ領域の確保と解放が繰り返され、小さな空き領域が飛び飛びの場所に存在するようになる。これをメモリの断片化(フラグメンテーション)という。
メモリコンパクション処理が実行されると、実行中のプログラムを一時停止して、各領域を移動して隙間なく再配置し、単一の広大な空き領域を作り出す。
ストレージ(外部記憶装置)上で同じようにファイルや空き領域の記録位置を再編し、細かく分断された領域の断片化を解消する処理のことは「デフラグメンテーション」(defragmentation)という。
似た機能に「ガーベジコレクション」(garbage collection)があるが、これは実行中のプログラムが確保済みの領域の中で既に使われておらず不要になったと考えられるものを自動的に解放し、空き領域を増やす処理を指す。
(2020.1.22更新)