2016-11-04 3 views
0

Wir betreiben ein Java Play-Projekt auf Heroku und haben den ganzen Tag lang den Fehler R14 (Speicherkontingentüberschreitung) auf dem Heroku/Scheduler-Dyno erhalten.Heroku Scheduler Speicherkontingent konstant überschritten (Java Play)

Heroku/scheduler.3831: Prozess läuft mem = 1058m (103,1%)

Heroku/scheduler.3831: Fehler R14 (Speicherkontingent überschritten)

Wir haben derzeit fünf täglichen Arbeit geplant, aber sie alle finden nach Geschäftsschluss statt. Aus irgendeinem Grund, obwohl der Heroku/Scheduler-Dyno Speicherkapazitäten den ganzen Tag ausfüllt, obwohl keine Jobs tatsächlich laufen.

Die Web-Dynos funktionieren ohne ein Problem. Ist dieses Problem bei Heroku Scheduler aufgetreten?

Antwort

0

Ich würde empfehlen, die maximale Größe des Heapspeichers im Scheduler-Prozess zu verringern. Play ist etwas notorisch für die Verwendung von vielen nativen (Off-Heap) Speicher (vor allem wegen Netty denke ich). Wenn Sie die Größe des Heapspeichers verringern, sollte mehr Speicherplatz für den nativen Speicher verfügbar sein.

Sie können die maximale Größe des Heapspeichers mit einer Option wie -Xmx300m für den Befehl java festlegen, den der Scheduler ausführt.

+0

Interessant, ich werde das versuchen! Ich glaube, ich bin ein wenig verwirrt darüber, warum der Heroku-Scheduler während des Tages läuft, wenn alle unsere Jobs in der Nacht geplant sind. Wenn ich die Größe des Heapspeichers bei jedem Job einschränke, kann ich mir vorstellen, dass das bei der Speicherauslastung für diesen bestimmten Job helfen würde. Aber wenn die Jobs überhaupt nicht laufen sollten, bin ich ein wenig unklar, warum ich immer noch so hoch werden würde Speicherverwendungen. –

+0

Wenn der Scheduler nicht ordnungsgemäß ausgeführt wird, sollten Sie ein Ticket unter https://help.heroku.com öffnen. das scheint merkwürdig. – codefinger

+0

Ich habe ein Ticket geöffnet, danke für die Hilfe! –

Verwandte Themen