10

We have inherited a system in which there is a central server for queuing operations. Redis is chosen as queuing agent.

Once in a while (like each 2-3 days) Redis service CPU usage goes even over 100%.

enter image description here

I tried to read the log to find the cause:

tail /var/log/redis/redis-server.log 

But it returns empty result.

enter image description here

I found this article that proposes some stuff. But Redis does not answer my commands.

I'm stuck at this point, on what to do and how to find the problem. Also, is there a way to limit the amount of CPU usage of redis?

1
  • are you using a server with multiple cpus? because I think your are using so much memory intend of cpu. Commented Apr 5, 2016 at 13:16

2 Answers 2

5

I was also having problems with redis CPU usage. My case was many redis connections (clients) and linux default ulimit of 1024 open files.

High CPU usage could be caused by some CPU intensive operations like smembers.

You can also use the SLOWLOG redis command to log the long running commands.

The best you can do to trace the problem, when no log and SLOWLOG results, is to strace the redis process and see what is going on. For my case it was 'Too many open files' error, but it was only seen in strace output, which was solved by increasing default nr of files limit over 1024.

0

By default Redis doesn't impose any limitations on resource usage. So all depends of the power of the server. I would recommend you configure Redis with limitations:

  1. Edit this file: /etc/redis.conf

  2. Add the memory limitation (in bytes): maxmemory 536870912

    (512mb in my case, but you must use the limitation of ram that you want/need)

  3. Also add this rule line: maxmemory-policy volatile-lru

With this rule activated, when the maxmemory is full Redis removes the less-used keys from the cache to give space to the new data.

If you want more info about this, everything is well commented in /etc/redis.conf.

1
  • 7
    The question was about CPU usage. Commented May 18, 2019 at 19:53

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.