gpt4 book ai didi

ruby-on-rails - Redis 随机开始报错无法保存 RDB 快照

转载 作者:可可西里 更新时间:2023-11-01 11:15:54 26 4
gpt4 key购买 nike

所以我正在运行一个利用 redis 和 sidekiq 的 Rails 应用程序。 config/sidekiq.rb 文件包含一些有关设置 Redis 池大小的信息,但我将其注释掉,以便 Sidekiq 可以动态确定(根据我的理解)。

因此,虽然我有一些 sidekiq 作业在后台运行,但一切正常。然而,大约 30 - 60 分钟后,sidekiq 似乎仍在运行,但它像每分钟一样吐出此错误(猜测这是我的 sidekiq cron 作业的间隔):

2018-01-19T17:52:21.906Z 95551 TID-ovs5kqylg ERROR: CRON JOB: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this inst ance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.

2018-01-19T17:52:21.906Z 95551 TID-ovs5kqylg ERROR: CRON JOB: /home/nutella/.rvm/rubies/ruby-2.5.0/lib/ruby/gems/2.5.0/gems/redis-4.0.1/lib/redis/client.rb:119:in `call'

要解决此问题,我必须终止 sidekiq 进程并重新启动它 30-60 分钟。

最佳答案

您的内存不足。

默认情况下,Redis 配置为将其数据保存在磁盘上。为了实现这一点,它从主进程创建了一个分支。至少对于 Linux 系统,子进程继承了父进程使用的 RAM。看来你还没有离开。

最简单的选择是增加 RAM。 Sidekiq 消耗大量 RAM,因此当您关闭 Sidekiq 时,问题就消失了。

你可以修改Redis的配置,让它在没有保存的时候不抛出异常,但是不会导致内存泄漏。

关于ruby-on-rails - Redis 随机开始报错无法保存 RDB 快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48347289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com