この問題を解決するには、まず情報の情報Redisのいくつかのデータの意味を理解する必要があります。
used_memory:810575104 //データどのくらいのメモリ(バイト)
used_memory_human:773.02M //どのくらいのメモリデータ(ユニットと読めると)
used_memory_rss:885465088 // Redisのどのくらいのメモリ
used_memory_rss_human:844.45M // Redisのどのくらいのメモリ(単位と読めると)
used_memory_peak:(バイト単位)2001274696 //ピークメモリ占有
used_memory_peak_human:1.86G //メモリ・ピーク(単位と読めると)
mem_fragmentation_ratio:1.09 //メモリの断片化率
これは注意が必要です。
used_memory_human、メモリ集約型のサイズのRedisのデータを表します、
サーバーの代わりにused_memory_rss_human、最近では、Redisの特定のメモリサイズであるRedisの割り当てられたメモリのサイズであり、
used_memory_peak_human、占有メモリの最大数中のRedisの代わりに。
mem_fragmentation_ratio = used_memory_rss / used_memory
mem_fragmentation_ratioは、高い低い1つのより大きい部分のRedisのフラグメントサイズを占有する、1になる傾向があります。1の範囲 - 1.5より大きく1.5、あまりにも多くの破片を説明するには、クリーンアップする必要があります。
Redisの残骸のクリーンアップ:
ケースのみのRedisを再起動することができますあまりにも多くのメモリの断片化を閉じる前redis4.0を有効にします。
activedefrag:redis4.0新しい設定項目の後
デフォルトactivedefrag Redisの設定項目ではない上、ノーで、自動的にメモリがゴミをクリーンアップ再利用しません、
あなたはゴミをクリーンアップする必要がある場合は、コマンドを使用します。
configがはいactivedefrag設定しました
activedefrag設定はON状態に設定されます。Redisのは、自動的にメモリの破片の回収率をクリーンアップします。