分配記憶體時如何減少記憶體碎片??

在日常的生活中,使用電腦的時候分配記憶體時如何減少記憶體碎片,下面北大青鳥西安華美校區的老師來介紹一下

工具/原料

電腦

系統

方法/步驟

1.首先,先對記憶體分配中的夥伴系統有初步的瞭解:

  在程式設計和使用的伺服器軟體中,經常需要分配一組連續的頁框,而頻繁地申請和釋放不同大小的連續頁框,必然導致在已分配頁框的記憶體塊中分散了許多小塊的空閒頁框。這樣,即使這些頁框是空閒的,但要分配一個大塊的連續頁框就可能無法滿足。

2.slab分配機制則是對夥伴演算法的改進,slab(Slab Allocation)的設計理念是基於物件緩衝的,基本想法是避免重複大量的初始化和清理操作。slab主要可以用於頻繁非配釋放的記憶體物件

3.每個物件的大小基本上是所需資料結構的大小。只有當資料結構的大小不與快取記憶體中的緩衝行對齊時,才增加若干位元組使其對齊。

注意事項

一個Slab上的所有物件的起始地址都必然是按快取記憶體中的緩衝行對齊的。

相關問題答案