SLUB

多年以來,Linux 內(nèi)核使用一種稱為SLAB 的內(nèi)核對(duì)象緩沖區(qū)分配器。但是,隨著系統(tǒng)規(guī)模的不斷增大,SLAB 逐漸暴露出自身的諸多不足。SLUB 是 Linux 內(nèi)核 2.6.22 版本中引入的一種新型分配器,它具有設(shè)計(jì)簡單、代碼精簡、額外內(nèi)存占用率小、擴(kuò)展性高,性能優(yōu)秀、方便調(diào)試等特點(diǎn)。

SLAB 分配器多年以來一直位于 Linux 內(nèi)核的內(nèi)存管理部分的核心地帶,內(nèi)核黑客們一般不愿意主動(dòng)去更改它的代碼,因?yàn)樗鼘?shí)在是非常復(fù)雜,而且在大多數(shù)情況下,它的工作完成的相當(dāng)不錯(cuò)。但是,隨著大規(guī)模多處理器系統(tǒng)和 NUMA系統(tǒng)的廣泛應(yīng)用,SLAB 分配器逐漸暴露出自身的嚴(yán)重不足:

較多復(fù)雜的隊(duì)列管理。在 SLAB 分配器中存在眾多的隊(duì)列,例如針對(duì)處理器的本地對(duì)象緩存隊(duì)列,slab 中空閑對(duì)象隊(duì)列,每個(gè) slab 處于一個(gè)特定狀態(tài)的隊(duì)列中,甚至緩沖區(qū)控制結(jié)構(gòu)也處于一個(gè)隊(duì)列之中。有效地管理這些不同的隊(duì)列是一件費(fèi)力且復(fù)雜的工作。slab 管理數(shù)據(jù)和隊(duì)列的存儲(chǔ)開銷比較大。每個(gè) slab 需要一個(gè) struct slab 數(shù)據(jù)結(jié)構(gòu)和一個(gè)管理所有空閑對(duì)象的 kmem_bufctl_t(4 字節(jié)的無符號(hào)整數(shù))的數(shù)組。當(dāng)對(duì)象體積較少時(shí),kmem_bufctl_t 數(shù)組將造成較大的開銷(比如對(duì)象大小為32字節(jié)時(shí),將浪費(fèi) 1/8 的空間)。為了使得對(duì)象在硬件高速緩存中對(duì)齊和使用著色策略,還必須浪費(fèi)額外的內(nèi)存。同時(shí),緩沖區(qū)針對(duì)節(jié)點(diǎn)和處理器的隊(duì)列也會(huì)浪費(fèi)不少內(nèi)存。測試表明在一個(gè) 1000 節(jié)點(diǎn)/處理器的大規(guī)模 NUMA 系統(tǒng)中,數(shù) GB 內(nèi)存被用來維護(hù)隊(duì)列和對(duì)象的引用。緩沖區(qū)內(nèi)存回收比較復(fù)雜。對(duì) NUMA 的支持非常復(fù)雜。SLAB 對(duì) NUMA 的支持基于物理頁框分配器,無法細(xì)粒度地使用對(duì)象,因此不能保證處理器級(jí)緩存的對(duì)象來自同一節(jié)點(diǎn)。冗余的 Partial 隊(duì)列。SLAB 分配器針對(duì)每個(gè)節(jié)點(diǎn)都有一個(gè) Partial 隊(duì)列,隨著時(shí)間流逝,將有大量的 Partial slab 產(chǎn)生,不利于內(nèi)存的合理使用。性能調(diào)優(yōu)比較困難。針對(duì)每個(gè) slab 可以調(diào)整的參數(shù)比較復(fù)雜,而且分配處理器本地緩存時(shí),不得不使用自旋鎖。調(diào)試功能比較難于使用。

為了解決以上 SLAB 分配器的不足之處,內(nèi)核開發(fā)人員 Christoph Lameter 在 Linux 內(nèi)核 2.6.22 版本中引入一種新的解決方案:SLUB 分配器。SLUB 分配器特點(diǎn)是簡化設(shè)計(jì)理念,同時(shí)保留 SLAB 分配器的基本思想:每個(gè)緩沖區(qū)由多個(gè)小的 slab 組成,每個(gè) slab 包含固定數(shù)目的對(duì)象。SLUB 分配器簡化了kmem_cache,slab 等相關(guān)的管理數(shù)據(jù)結(jié)構(gòu),摒棄了SLAB 分配器中眾多的隊(duì)列概念,并針對(duì)多處理器、NUMA 系統(tǒng)進(jìn)行優(yōu)化,從而提高了性能和可擴(kuò)展性并降低了內(nèi)存的浪費(fèi)。為了保證內(nèi)核其它模塊能夠無縫遷移到 SLUB 分配器,SLUB 還保留了原有 SLAB 分配器所有的接口 API 函數(shù)。

SLUB造價(jià)信息

市場價(jià) 信息價(jià) 詢價(jià)
材料名稱 規(guī)格/型號(hào) 市場價(jià)
(除稅)
工程建議價(jià)
(除稅)
行情 品牌 單位 稅率 供應(yīng)商 報(bào)價(jià)日期
暫無數(shù)據(jù)
材料名稱 規(guī)格/型號(hào) 除稅
信息價(jià)
含稅
信息價(jià)
行情 品牌 單位 稅率 地區(qū)/時(shí)間
暫無數(shù)據(jù)
材料名稱 規(guī)格/需求量 報(bào)價(jià)數(shù) 最新報(bào)價(jià)
(元)
供應(yīng)商 報(bào)價(jià)地區(qū) 最新報(bào)價(jià)時(shí)間
暫無數(shù)據(jù)

SLUB常見問題

SLUB相關(guān)推薦
  • 相關(guān)百科
  • 相關(guān)知識(shí)
  • 相關(guān)專欄

最新詞條

安徽省政采項(xiàng)目管理咨詢有限公司 數(shù)字景楓科技發(fā)展(南京)有限公司 懷化市人民政府電子政務(wù)管理辦公室 河北省高速公路京德臨時(shí)籌建處 中石化華東石油工程有限公司工程技術(shù)分公司 手持無線POS機(jī) 廣東合正采購招標(biāo)有限公司 上海城建信息科技有限公司 甘肅鑫禾國際招標(biāo)有限公司 燒結(jié)金屬材料 齒輪計(jì)量泵 廣州采陽招標(biāo)代理有限公司河源分公司 高鋁碳化硅磚 博洛尼智能科技(青島)有限公司 燒結(jié)剛玉磚 深圳市東海國際招標(biāo)有限公司 搭建香蕉育苗大棚 SF計(jì)量單位 福建省中億通招標(biāo)咨詢有限公司 泛海三江 威海鼠尾草 Excel 數(shù)據(jù)處理與分析應(yīng)用大全 廣東國咨招標(biāo)有限公司 甘肅中泰博瑞工程項(xiàng)目管理咨詢有限公司 山東創(chuàng)盈項(xiàng)目管理有限公司 當(dāng)代建筑大師 廣西北纜電纜有限公司 拆邊機(jī) 大山檳榔 上海地鐵維護(hù)保障有限公司通號(hào)分公司 甘肅中維國際招標(biāo)有限公司 舌花雛菊 湖北鑫宇陽光工程咨詢有限公司 GB8163標(biāo)準(zhǔn)無縫鋼管 中國石油煉化工程建設(shè)項(xiàng)目部 華潤燃?xì)猓ㄉ虾#┯邢薰? 韶關(guān)市優(yōu)采招標(biāo)代理有限公司 莎草目 建設(shè)部關(guān)于開展城市規(guī)劃動(dòng)態(tài)監(jiān)測工作的通知 電梯平層準(zhǔn)確度 廣州利好來電氣有限公司 四川中澤盛世招標(biāo)代理有限公司