最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis 內(nèi)存碎片原因及清理

 更新時(shí)間:2024年06月28日 10:32:29   作者:_江嶼_  
內(nèi)存碎片是指在內(nèi)存分配的時(shí)候,產(chǎn)生的不能重復(fù)利用的空間,本文主要介紹了Redis 內(nèi)存碎片原因及清理,具有一定的參考價(jià)值,感興趣的可以了解一下

一、Redis 內(nèi)存碎片

內(nèi)存碎片是指在內(nèi)存分配的時(shí)候,產(chǎn)生的不能重復(fù)利用的空間。例如,內(nèi)存空間還有3K,應(yīng)用程序想申請連續(xù)的3K空間,雖然內(nèi)存空間夠,但是空間分配為2K,1K,總空間夠,但是不連續(xù),導(dǎo)致應(yīng)用程序申請失敗,這種無法利用的內(nèi)存空間稱之為"內(nèi)存碎片"。內(nèi)存分片會(huì)占用操作系統(tǒng)分配給redis的內(nèi)存空間,嚴(yán)重影響redis性能。

二、內(nèi)存碎片形成原因

1.內(nèi)因
內(nèi)存分片策略引發(fā):redis默認(rèn)使用jemalloc分配器分配內(nèi)存。jemalloc每次分配2*N固定空間,例如寫入數(shù)據(jù)申請10K空間,jemalloc會(huì)分配16K空間,優(yōu)點(diǎn):下次寫入>=6K數(shù)據(jù)不需要申請內(nèi)存空間,缺點(diǎn)造成內(nèi)存浪費(fèi)。

2.外因
修改內(nèi)存中數(shù)據(jù):修改包括增加和減少內(nèi)存占用,例如原來的16K空間數(shù)據(jù),增加或減少1K都會(huì)造成內(nèi)存浪費(fèi)。大量內(nèi)存碎片的存在,會(huì)造成redis實(shí)際內(nèi)存使用率降低,影響性能。

三、查看內(nèi)存碎片

info memory 查看redis內(nèi)存使用情況,主要關(guān)注以下參數(shù)

used_memory:                 redis分配的內(nèi)存總量單位為b
used_memory_human:      redis分配的內(nèi)存總量單位為M
used_memory_rss:           redis向操作系統(tǒng)申請的內(nèi)存總量單位為b
used_memory_rss_human: redis向操作系統(tǒng)申請的內(nèi)存總量單位為M
mem_fragmentation_ratio:     內(nèi)存碎片率
mem_allocator:jemalloc-5.1.0 內(nèi)存分配器

mem_fragmentation_ratio計(jì)算公式為:used_memory_rss/used_memory 該值大于1但小于1.5。這種情況是合理的。該值過高時(shí)考慮清理內(nèi)存,例如該值大于1.5表示有50%空間浪費(fèi),需要清理內(nèi)存碎片。

四、內(nèi)存碎片清理

內(nèi)存碎片清理,就是將不連續(xù)的內(nèi)存空間重新整理為連續(xù)空間,由于redis是單線程,在清理過程中會(huì)造成堵塞,降低性能??赏ㄟ^以下三種方式清理:

1.手動(dòng)清理內(nèi)存碎片

memory purge 只支持jemalloc內(nèi)存分配器

2.自動(dòng)清理

修改redis.conf配置文件

activedefrag yes 開啟自動(dòng)清理內(nèi)存碎片,命令開啟:config set activedefrag yes
active-defrag-ignore-bytes 100mb 內(nèi)存碎片的字節(jié)數(shù)達(dá)到100M時(shí)開始清理
active-defrag-threshold-lower 10 內(nèi)存碎片空間占操作系統(tǒng)分配給redis的總空間比例達(dá)到 10% 時(shí)開始清理
active-defrag-ignore-bytes與active-defrag-threshold-lower 兩個(gè)條件同時(shí)滿足會(huì)觸發(fā)內(nèi)存碎片清理,當(dāng)有一個(gè)不滿足則停止清理
active-defrag-threshold-upper 100 內(nèi)存碎片超過 100%,則盡最大努力整理
active-defrag-cycle-min 1 自動(dòng)清理過程所用CPU時(shí)間的比例不低于1%,保證能正常清理
active-defrag-cycle-max 25 自動(dòng)清理過程所用CPU時(shí)間的比例不高于25%,超過25%停止清理,避免redis主線程阻塞
active-defrag-max-scan-fields 1000 自動(dòng)清理過程中長度小于1000的set/hash/zset/list才會(huì)進(jìn)行自動(dòng)清理

----以上參數(shù)默認(rèn)注釋----

3.重啟redis

到此這篇關(guān)于Redis 內(nèi)存碎片原因及清理的文章就介紹到這了,更多相關(guān)Redis 內(nèi)存碎片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

来凤县| 长顺县| 贵阳市| 卢龙县| 莱州市| 临漳县| 临城县| 科技| 黑山县| 双江| 马边| 武功县| 宽甸| 临桂县| 怀宁县| 枞阳县| 榆中县| 宁津县| 临海市| 南城县| 齐齐哈尔市| 嘉禾县| 伊川县| 丘北县| 屏南县| 肃南| 金门县| 雷波县| 左云县| 铅山县| 平泉县| 临泉县| 三亚市| 霸州市| 寿光市| 大新县| 平顺县| 博野县| 缙云县| 富阳市| 新巴尔虎右旗|