全部課程
發(fā)布時間: 2023-04-19 16:03:55
操作系統(tǒng)中剩余的空間總量是足夠的,但是當(dāng)請求一個N字節(jié)的連續(xù)地址塊時,剩余的內(nèi)存空間中沒有大小為N字節(jié)的連續(xù)空間,所以這些剩余的內(nèi)存空間中小于N字節(jié)的連續(xù)內(nèi)存空間就是內(nèi)存碎片。?
內(nèi)部原因:
內(nèi)存分配器的分配策略決定操作系統(tǒng)無法做到“按需分配”。
Redis使用libc、jemalloc、tcmalloc多種內(nèi)存分配器來分配內(nèi)存,默認(rèn)使用jemalloc。外部原因:
鍵值對大小不一樣,并且鍵值對可以被修改和刪除。
Redis申請內(nèi)存空間分配時,對于大小不一的內(nèi)存空間需求,內(nèi)存分配器按照固定大小分配內(nèi)存空間,分配的內(nèi)存空間一般都會比申請的內(nèi)存空間大一些,這會產(chǎn)生一定的內(nèi)存碎片。上一篇: Redis sentinel機(jī)制
下一篇: python數(shù)字類型有哪幾種