web-dev-qa-db-ja.com

Redisはますます多くのメモリを消費します

私はUbuntu14.04でRedis2.8.17を実行していますが、昨日、RedisはOOMによって強制終了されるまですべてのメモリを使い果たし始めました。私はそれを複数回再起動し、サーバーを再起動し、すべてのデータをフラッシュしましたが、常に同じ結果です。起動すると、3GB程度で強制終了されるまで、メモリ消費量が毎秒増加します。

この短いビデオをチェックしてください: http://screencast.com/t/RYqTO7Gradi1

RES列が上下することに注意してください。これは、空のデータセットを使用して新しく開始されたRedisです。

これと関係があるかもしれない私がしたことの1つは、前日にサーバー上のMonitを更新することです。ただし、これは問題なく実行され、Redisに影響を与えるべきではありませんでした。 A apt-get updateが行われたので、これを引き起こす可能性のあるシステムライブラリが更新された可能性がありますか?

とにかく、私は完全にアイデアがありません、どんなヒントも役立つかもしれません!

これが私のredis.confINFOの出力: https://Gist.github.com/manuelmeurer/8c660be28534f8332a2

1
Manuel Meurer

木々の木材が見えなかったことが判明し、マイケルハンプトンのコメントの1つが私を正しい方向に導いてくれました。

結局のところ、Redis自体とは何の関係もありませんでしたが、私のアプリの1つが誤動作していました。バックグラウンド処理にSidekiqを使用し、Redisを使用してジョブ、エラーメッセージ、バックトレースなどを保存します。一部のジョブで奇妙なエラーが発生し始めましたが、最初にRedisでこの問題を解決する必要があったため、無視しました。 :)

Errbit に通知を送信することになっているバックグラウンドワーカーは、アプリで例外が発生するたびに例外自体を生成し、非常に長いバックトレースとますます多くのジョブを生成したようです...

今のところバックグラウンド処理を停止しましたが、Redisは通常の量のRAMを消費します。

4
Manuel Meurer