亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

內(nèi)存碎片的產(chǎn)生與對(duì)數(shù)據(jù)進(jìn)行的操作,數(shù)據(jù)的特點(diǎn)等有關(guān),與使用的內(nèi)存分配器也有關(guān)。如果redis服務(wù)器的內(nèi)存碎片很大,可以通過(guò)安全重啟的方式減少內(nèi)存碎片,重啟后,redis重新從備份文件中讀取數(shù)據(jù),在內(nèi)存中進(jìn)行重排,為每個(gè)數(shù)據(jù)重新選擇合適的內(nèi)存單元,減少內(nèi)存碎片

linux采用著名的伙伴系統(tǒng)buddy system算法來(lái)解決外碎片問(wèn)題。把所有的空閑頁(yè)框分組為11個(gè)塊鏈表,每個(gè)鏈表分別包含大小為1,2,4,8,16,32,64,128,256,512,1024連續(xù)的頁(yè)框,對(duì)1024頁(yè)框的最大請(qǐng)求對(duì)應(yīng)著4MB大小的連續(xù)RAM(每頁(yè)大小為4KB),每個(gè)塊的第一個(gè)頁(yè)框的物理地址是該塊大小的整數(shù)倍,例如,大小為16個(gè)頁(yè)框的塊,其起始地址是16*2^12的倍數(shù)。

我們通過(guò)一個(gè)例子來(lái)說(shuō)明伙伴算法的工作原理,假設(shè)現(xiàn)在要請(qǐng)求一個(gè)256個(gè)頁(yè)框的塊(1MB),算法步驟如下:

  • 在256頁(yè)框的鏈表中檢查是否有一個(gè)空閑塊,如果沒(méi)有,查找下一個(gè)更大的塊,如果有,請(qǐng)求滿足。
  • 在512頁(yè)框的鏈表中檢查是否有一個(gè)空閑塊,如果有,把512個(gè)頁(yè)框的空閑塊分為兩份,第一份用于滿足請(qǐng)求,第二份鏈接到256個(gè)頁(yè)框的鏈表中。如果沒(méi)有空閑塊,繼續(xù)尋找下一個(gè)更大的塊。

下圖比較形象地描述了該過(guò)程。

redis內(nèi)存碎片

 

以上過(guò)程的逆過(guò)程,就是頁(yè)框塊的釋放過(guò)程,也是該算法名字的由來(lái),內(nèi)核試圖把大小為B的一對(duì)空閑伙伴塊合并為一個(gè)2B的單獨(dú)塊,滿足以下條件的兩個(gè)塊稱之為伙伴:

  • 兩個(gè)塊具有相同的大小
  • 他們的物理地址是連續(xù)的
  • 第一塊的第一個(gè)頁(yè)框的物理地址是2 * B * 2^12

該算法是遞歸的,如果它成功合并了B,就會(huì)試圖去合并2B,以再次試圖形成更大的塊。

分享到:
標(biāo)簽:碎片 內(nèi)存 redis
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定