首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何排除高CPU使用率?以及如何限制Redis CPU的使用?

如何排除高CPU使用率?以及如何限制Redis CPU的使用?
EN

Server Fault用户
提问于 2016-03-08 08:08:05
回答 2查看 36.8K关注 0票数 10

我们继承了一个系统,其中有一个用于排队操作的中央服务器。选择Redis作为排队代理。

偶尔(就像每2-3天一样),redis服务CPU的使用率甚至超过100%。

我试着阅读日志,找出原因:

代码语言:javascript
运行
复制
tail /var/log/redis/redis-server.log

但是它返回空的结果。

我发现这篇文章提出了一些建议。但瑞迪斯不听我的命令。

我被困在这一点上,在该做什么和如何找到问题。此外,是否有一种方法来限制CPU使用量的redis?

EN

回答 2

Server Fault用户

发布于 2016-08-24 07:38:25

我在使用redis CPU时也遇到了问题。我的例子是许多redis连接(客户端)和linux默认的1024个打开文件。

CPU使用率高的原因可能是一些CPU密集型操作(如smembers )。

还可以使用SLOWLOG命令记录长期运行的命令。

在没有日志和SLOWLOG结果的情况下,跟踪问题的最好方法是暂停redis进程并查看发生了什么。在我的例子中,这是“太多打开的文件”错误,但它只出现在strace输出中,这是通过将默认的nr文件限制增加到1024以上来解决的。

票数 4
EN

Server Fault用户

发布于 2019-05-18 18:46:58

默认情况下,Redis没有任何限制-使用-资源,所以一切取决于服务器的能力。因此,我建议您配置具有限制的Redis:

编辑这个文件:/etc/redis.conf

2-添加内存限制(字节):maxmemory 536870912

(在我的例子中是512 my,但是您必须使用您想要/需要的ram的限制)

3-还添加以下规则行:maxmemory-policy volatile-lru

在激活此规则后,当maxmemory已满时,redis将从缓存中移除使用较少的键,以便为新的键提供空间。

如果您想要更多关于这方面的信息,所有内容都在/etc/redis.conf上得到了很好的评论。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/762268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档