Sidekiq가 너무 많은 메모리를 사용 중입니다

어제 최신 버전으로 업데이트한 이후로 로그에 이 오류가 계속 표시되고 있습니다. 서버 RAM은 8GB이고 사용률은 60%뿐입니다. 설정을 초기화하기 위해 discourse-setup을 실행해 봤는데, 다음과 같은 결과가 나왔습니다:

setting db_shared_buffers = 2048MB
setting UNICORN_WORKERS = 4

로그:

Message (781 copies reported)

Sidekiq is consuming too much memory (using: 510.87M) for 'community.naturephotographers.network', restarting

Backtrace

config/unicorn.conf.rb:164:in `check_sidekiq_heartbeat'
config/unicorn.conf.rb:244:in `master_sleep'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/unicorn-6.1.0/lib/unicorn/http_server.rb:295:in `join'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>'

여기서 무슨 일이 일어나고 있는지 짐작 가는 점이 있을까요?

Sidekiq의 메모리를 늘렸더니 저에게는 해결되었습니다.

위로가 될지는 모르겠지만, 나도 이 문제를 꽤 자주 겪고 있습니다.

@Don의 제안을 조사해 보겠습니다. 궁금했는데, 이제 알았네요!

그렇게 하니 문제가 해결되었네요, 돈 씨 감사합니다!

이것은 "여유 공간 부족"의 문제인가요, 아니면 어떤 종류의 메모리 누수라고 생각하시나요?

후자라면, 어쨌든 이 오류가 발생하겠죠. 할당된 메모리를 늘려도 오류 빈도만 줄어드는 것일 뿐입니다…

참고로, 해당 설정을 변경한 후에도 아직 오류를 확인하지 못했고, 메모리 사용량이 약 400MB 증가했습니다.

제가 궁금한 점이 있습니다:

저도 같은 오류(또는 정보를 제공한다고 볼 수 있을까요?)를 받고 있는데, 제 사이트는 멀티사이트도 아니고 바쁘지도 않습니다.

시간이 지남에 따라 아키텍처가 변해서, 과거의 주제인 알려진 것보다 더 많은 메모리가 필요한가에 가까워지고 있는 건가요?

YJIT를 활성화한 후 /logs에 이 경고가 표시되었습니다. 메모리 사용량이 증가한다는 참고 사항이 있습니다. 하지만 활성 활동이 많은 번잡한 사이트나 공유 메모리를 사용하는 번잡한 공유 서버에서도 발생할 수 있다고 생각합니다.

Sidekiq 대시보드가 Redis의 메모리 사용량을 표시하는 것 같네요. Sidekiq 자체의 메모리 사용량도 같은 방식으로 표시하면 좋았을 텐데 아쉬워요.:

간단히 업데이트를 공유드립니다. 변경 사항을 적용한 후 메모리 사용량이 약 60%에서 80%(8 GB)로 급격히 상승했으며, 현재는 이 수준에서 안정적으로 유지되고 있습니다. 로그에서 다른 에러는 확인되지 않았고, 일부 다른 문제들도 해결되었습니다.