天天看點

Redis開發運維實踐問題處理隻記憶體檢查8.3.1 系統記憶體檢視8.3.2 系統swap記憶體檢視8.3.3 info檢視記憶體8.3.4 dump.rdb檔案成生記憶體報告(rdb-tool)8.3.5 query線上分析8.3.6 記憶體抽樣分析8.3.7 統計生産上比較大的key8.3.8 檢視key内部結構和編碼等資訊8.3.9 Rss增加,記憶體碎片增加

script/下的memstat.sh或者ps_mem.py都可以檢視系統的記憶體情況,兩個工具都需要root權限。

used_memory:859192資料結構的空間 used_memory_rss:7634944實占空間 mem_fragmentation_ratio:8.89前2者的比例,1.n為佳,如果此值過大,說明redis的記憶體的碎片化嚴重,可以導出再導入一次.

對redis中的key進行采樣,尋找較大的keys。是用的是scan方式,不用擔心會阻塞redis很長時間不能處理其他的請求。執行的結果可以用于分析redis的記憶體的隻用狀态,每種類型key的平均大小。

檢視一個key内部資訊,比如refcount、encoding、serializedlength等,結果如下 value at:0x7f21b9479850 refcount:1 encoding:raw serializedlength:6 lru:8462202 lru_seconds_idle:215

此時可以選擇時間進行redis伺服器的重新啟動,并且注意在rss突然降低觀察是否swap被使用,以确定并非是因為swap而導緻的rss降低。

<b></b>

<b>redis開發運維實踐指南</b>

本文為《redis開發運維實踐指南》内容,該書作者為黃鵬程,已授權雲栖社群轉載。

繼續閱讀