次のリンクのメモリ割り当てセクションを参照してください:
http://redis.io/topics/memory-optimization
ここで引用しました:
キーが削除されたときに、Redisが常にメモリをOSに解放(戻す)するとは限りません。これはRedisにとって特別なことではありませんが、mostmalloc()の実装がどのように機能するかを示しています。たとえば、インスタンスに5 GB相当のデータを入力し、2 GBに相当するデータを削除した場合、常駐セットサイズ(プロセスで消費されるメモリページの数であるRSSとも呼ばれます)はおそらく約5GBになります。 Redisがユーザーメモリが約3GBであると主張する場合でも。これは、基盤となるアロケータがメモリを簡単に解放できないために発生します。たとえば、削除されたキーのほとんどは、まだ存在している他のキーと同じページに割り当てられていることがよくあります。