UNICORN_SIDEKIQ_MAX_RSS를 조정해도 Sidekiq가 여전히 많은 메모리를 사용 중

Sidekiq is consuming too much memory, restarting에서 이어서 토론합니다:

설정을 조정했는데 컨테이너에서 다음과 같은 내용을 확인했습니다:

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

하지만 로그에서는 다음과 같은 내용을 확인합니다:

Sidekiq is consuming too much memory (using: 535.10M) for 'site', restarting

535.10M < 1000이 아닌가 싶은데, 오타나 다른 정말 단순한 실수를 한 것 같습니다.

이 사이트는 매우 바빠서 하루에 60만~80만 페이지뷰를 기록하고 있으며, ECS에서 7개(대부분 유휴 상태)의 웹 컨테이너가 실행되고 있습니다.

태스크에는 4개의 CPU가 있으므로 UNICORN_SIDEKIQS를 증가시켜야 하나요?

rails에서 [ENV["UNICORN_SIDEKIQ_MAX_RSS"].to_i, 500].max.megabytes를 실행하면 1048576000이 반환되므로 Rails가 ENV에 접근할 수 있는 것으로 보이지만, 제가 직접 rails를 실행하는 것과 부팅 시 실행되는 것이 어딘가 다른 건지 모르겠습니다.

지금 하시는 게 맞는 것 같습니다… UNICORN_SIDEKIQS를 2로 올리면 사이드킥 2개가 보이나요?

다음에는 sidekiq의 수를 늘려볼 예정이지만, 1000으로 설정해 놓고도 538mb가 너무 많다고 표시되는 부분이 혼란스럽습니다.

동의합니다. 그냥 환경 변수 중 적어도 하나가 제대로 적용되고 있는지 확인하고 싶을 뿐입니다.

로그에서 다음과 같은 내용을 확인했는데, 이에 대한 해결책이 있었나요?

Sidekiq이 메모리를 너무 많이 사용 중입니다 (사용량: 501.37M), 재시작합니다

UNICORN_SIDEKIQ_MAX_RSS: 1000

그리고 해당 사이트는 트래픽이 많지 않은 사이트입니다.

무엇을 더 시도해 볼 수 있을까요?

이것이 Sidekiq 문제인지, 그리고 그렇든 아니든 이 문제가 수정될지 궁금합니다.

Job exception: MiniScheduler::DistributedMutex::Timeout
We 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 님이 게시:

@sandra.mccollum 저도 비슷한 문제가 있습니다.

해결하셨나요?