Sidekiq 即使调整了 UNICORN_SIDEKIQ_MAX_RSS 也消耗大量内存

继续讨论 Sidekiq 占用内存过多,正在重启

我已经调整了设置,并在容器中看到:

root@ip-10-4-2-52:/# set|grep SIDE
UNICORN_SIDEKIQS=1
UNICORN_SIDEKIQ_MAX_RSS=1000

但我在日志中看到:

Sidekiq 占用内存过多(使用:535.10M)用于“site”,正在重启

看起来 535.10M < 1000,对吧?我觉得我一定是有个拼写错误或者其他非常愚蠢的问题。

这是一个非常繁忙的站点,每天有 600-800K 次页面浏览量,在 ECS 中运行着 7 个(大部分空闲的)Web 容器。

任务中有 4 个 CPU,我应该增加 UNICORN_SIDEKIQS 吗?

如果在 Rails 中运行 [ENV[\"UNICORN_SIDEKIQ_MAX_RSS\"].to_i, 500].max.megabytes,我得到 1048576000,所以看起来 Rails 应该可以访问 ENV,但也许我自己运行的 Rails 与启动时启动的有所不同?

2 个赞

看起来你做得对……如果你将 UNICORN_SIDEKIQS 提高到 2,你会看到 2 个 sidekiqs 吗?

1 个赞

我将尝试增加 sidekiq 的数量,但我不明白为什么它说 538 mb 太多,而它设置为 1000。

1 个赞

同意,只是想看看至少有一个环境变量“粘住”了。

1 个赞

这个问题有解决办法吗?因为我在日志中看到:

Sidekiq 占用了过多内存(使用量:501.37M),正在重启

UNICORN_SIDEKIQ_MAX_RSS:1000

而且这个网站的访问量并不大

我还能尝试什么?

1 个赞

这是 Sidekiq 的问题吗?无论是不是,这个问题都会被修复吗?

作业异常:MiniScheduler::DistributedMutex::Timeout
我们 6:21 pm

mini_scheduler-0.17.0/lib/mini_scheduler/distributed_mutex.rb:43:in `synchronize' 
mini_scheduler-0.17.0/lib/mini_scheduler/distributed_mutex.rb:15:in `synchronize' 
mini_scheduler-0.17.0/lib/mini_scheduler/manager.rb:365:in `lock' 
mini_scheduler-0.17.0/lib/mini_scheduler/manager.rb:316:in `tick' 
mini_scheduler-0.17.0/lib/mini_scheduler.rb:76:in `block (2 levels) in start' 

NateDhaliwal 发布:

2 个赞

@sandra.mccollum 我也有同样的问题

你解决了吗?

1 个赞