記憶體管理/記憶體壓縮
外觀
當從記憶體池中分配記憶體時,隨著時間的推移,記憶體池會變得碎片化。一些從記憶體池分配的物件被未分配的物件包圍,以看似隨機的順序排列。記憶體壓縮是指將已分配的物件移動在一起,並將空閒空間放在一起的過程。
考慮一個包含 3 個頁面的系統,其中大約 50% 的物件已被分配。透過壓縮,所有活動物件被移動到前兩個頁面,使第二個頁面的後半部分和第三個頁面完全空閒。在未來的標記/清除階段,可以忽略空閒頁面,因為已知它不包含活動物件,或者可以將其釋放並返回給所需的系統。記憶體壓縮是正確分配記憶體非常重要的技術。