1

I am running Redis 2.8.17 on Ubuntu 14.04 and yesterday Redis started eating up all the memory until it was killed by OOM. I restarted it multiple times, restarted the server, flushed all the data, but always the same result: when I start it, the memory consumption goes up every second until it is killed at 3GB or so.

Check out this short video: http://screencast.com/t/RYqTO7Gradi1

Notice the RES column goes up and up? This is a freshly started Redis with an empty data set.

The one thing I did that might have something to do with this is updating Monit on the server the day before. This went without problems though and should not have influenced Redis. A apt-get update was done though, so maybe there some system library was updated that might cause this?

Anyways, I'm completely out of ideas, any hints might help!

Here is my redis.conf the output of INFO: https://gist.github.com/manuelmeurer/8c660be28534f8332a23

Manuel Meurer
  • 263
  • 3
  • 12
  • 1
    Are you actually putting data in it? – Michael Hampton Nov 14 '14 at 09:26
  • Oh man, I feel so stupid... of course! It's one of my apps that starts putting loads and loads of data into Redis as soon as I start it. It's using Sidekiq and somehow the job data is getting huge. I'll investigate more and post more info later! Thanks, Michael!! – Manuel Meurer Nov 14 '14 at 10:03

1 Answers1

4

Turns out I couldn't see the wood for the trees, and one comment of Michael Hampton put me on the right track.

It didn't have anything to do with Redis itself after all but one of my apps was misbehaving. It uses Sidekiq for background processing, which uses Redis to store the jobs, error messages, backtraces etc. I started getting weird errors for some of my jobs but ignored them since I had to, you know, solve this issue with Redis first. :)

It seems like the background worker which is supposed to send a notification to Errbit any time an exception occurs in my app produced an exception itself, which generated extremely long backtraces and more and more jobs...

I stopped the background processing for now and now Redis consumes a normal amount of RAM.

Manuel Meurer
  • 263
  • 3
  • 12