SidekiqがUNICORN_SIDEKIQ_MAX_RSSを調整してもメモリを過剰に消費する

Sidekiqがメモリを大量に消費し、再起動していますからの議論を続けます。

設定を調整し、コンテナで以下を確認しました。

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

しかし、ログでは以下を確認しています。

Sidekiqが「site」に対してメモリを大量に消費しています(使用量:535.10M)。再起動します。

535.10M < 1000 ですよね?タイプミスか、何か非常にくだらないことを見落としている気がします。

これは1日あたり60万~80万PVの非常に忙しいサイトで、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 つの sidekiq が表示されますか?

「いいね!」 1

次にサイドキックの数を増やしてみますが、1000に設定されているのに538MBが多すぎるという表示が出るのが混乱しています。

「いいね!」 1

同意します。少なくとも1つの環境変数が「保持」されていることを確認したいだけです。

「いいね!」 1

これに関して何か解決策はありましたか?ログに以下のような表示があります。

Sidekiq がメモリを過剰に消費しています (使用量: 501.37M)。再起動します。

UNICORN_SIDEKIQ_MAX_RSS: 1000

サイトはそれほど混雑していません。

他に何を試すべきでしょうか?

「いいね!」 1

これは Sidekiq の問題ですか、また、問題であるかどうかにかかわらず、この問題は修正されますか?

ジョブ例外: MiniScheduler::DistributedMutex::Timeout
午後6時21分

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