Memory
Redis 吃掉越來越多的記憶體
我在 Ubuntu 14.04 上執行 Redis 2.8.17,昨天 Redis 開始耗盡所有記憶體,直到它被 OOM 殺死。我多次重新啟動它,重新啟動伺服器,刷新所有數據,但總是相同的結果:當我啟動它時,記憶體消耗每秒都在增加,直到它在 3GB 左右被殺死。
看看這個短片:http ://screencast.com/t/RYqTO7Gradi1
注意到 RES 列上升和上升了嗎?這是一個新啟動的帶有空數據集的 Redis。
我做的一件事可能與此有關,就是前一天在伺服器上更新 Monit。不過這沒有問題,也不應該影響 Redis。A
apt-get update
已經完成了,所以也許有一些系統庫被更新了,這可能會導致這種情況?無論如何,我完全沒有想法,任何提示可能會有所幫助!
這是我
redis.conf
的輸出INFO
:https ://gist.github.com/manuelmeurer/8c660be28534f8332a23
原來我只見樹木不見森林,邁克爾漢普頓的一條評論讓我走上了正軌。
畢竟它與 Redis 本身沒有任何關係,但我的一個應用程序行為不端。它使用 Sidekiq 進行後台處理,它使用 Redis 來儲存作業、錯誤消息、回溯等。我的一些作業開始出現奇怪的錯誤,但我忽略了它們,因為我必須先用 Redis 解決這個問題。:)
似乎後台工作人員應該在我的應用程序中發生異常時向Errbit發送通知本身產生異常,這會產生極長的回溯和越來越多的工作……
我現在停止了後台處理,現在 Redis 消耗了正常數量的 RAM。