Sidekiq verbraucht zu viel Speicher, selbst bei angepasstem UNICORN_SIDEKIQ_MAX_RSS

Diskussion fortgesetzt von Sidekiq verbraucht zu viel Speicher, Neustart:

Ich habe die Einstellung angepasst und sehe dies im Container:

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

Aber in den Logs sehe ich Folgendes:

Sidekiq verbraucht zu viel Speicher (verwendet: 535,10M) für 'site', Neustart

Es scheint, dass 535,10M < 1000 ist, oder? Ich habe das Gefühl, dass ich einen Tippfehler oder etwas anderes sehr Dummes gemacht haben muss.

Dies ist eine sehr geschäftige Seite mit 600–800.000 Seitenaufrufen/Tag mit 7 (weitgehend untätigen) Web-Containern, die in ECS ausgeführt werden.

Es gibt 4 CPUs in der Aufgabe, sollte ich UNICORN_SIDEKIQS erhöhen?

Wenn ich [ENV[\"UNICORN_SIDEKIQ_MAX_RSS\"].to_i, 500].max.megabytes in Rails ausführe, erhalte ich 1048576000, also scheint Rails Zugriff auf die ENV zu haben, aber vielleicht unterscheidet sich das Ausführen von Rails selbst von dem, das beim Booten hochgefahren wird?

2 „Gefällt mir“

Es sieht so aus, als ob Sie das Richtige tun… wenn Sie UNICORN_SIDEKIQS auf 2 erhöhen, sehen Sie dann 2 Sidekiqs?

1 „Gefällt mir“

Ich werde versuchen, die Anzahl der Sidekiqs als Nächstes zu erhöhen, aber ich bin verwirrt, dass es heißt, 538 MB seien zu viel, obwohl sie auf 1000 eingestellt sind.

1 „Gefällt mir“

Einverstanden, ich möchte nur sehen, dass zumindest eine der Umgebungsvariablen “haftet”.

1 „Gefällt mir“

Gab es eine Lösung dafür, da ich in meinen Protokollen sehe:

Sidekiq verbraucht zu viel Speicher (verwendet: 501,37 Mio.), Neustart

UNICORN_SIDEKIQ_MAX_RSS: 1000

und die Seite ist nicht sehr stark besucht

Was soll ich noch versuchen?

1 „Gefällt mir“

Ist dies ein Sidekiq-Problem, und wird dieses Problem behoben, unabhängig davon, ob es sich um ein Sidekiq-Problem handelt oder nicht?

Job-Ausnahme: MiniScheduler::DistributedMutex::Timeout
Wir 18:21 Uhr

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' 

Gepostet von NateDhaliwal:

2 „Gefällt mir“

@sandra.mccollum Ich habe auch das gleiche Problem. Konntest du es lösen?

1 „Gefällt mir“