2016-04-14 11 views
0

Nach Heroku doc, to avoid garbage verwenden, können Sie Flags V8 in Ihrem procfile zur Verfügung stellen kann:vermeiden Müll mit NodeJS App foreverjs und läuft auf Heroku

web: node --optimize_for_size --max_old_space_size=460 --gc_interval=100 server.js 

jedoch meine App nutzt foreverjs, und ich verwende die folgende Anweisung in der procfile:

web: ./node_modules/.bin/forever -m 5 server.js 

gibt es eine Möglichkeit Fahnen wie --max_old_space_size oder gc_interval=100 und noch foreverjs verwenden zur Verfügung stellen?

Antwort

1

Ich verwende PM2 nicht für immer, aber wie es scheint, dass für immer als diese Syntax:

usage: forever [action] [options] SCRIPT [script-options] 

Ich würde versuchen, die in dem Skript-Optionen Teil zu setzen:

./node_modules/.bin/forever -m 5 server.js --max_old_space_size=460 --gc_interval=100 

In beiden Fällen Ich würde das Timing der GC nicht erzwingen ... Die max_old_space_size sollte in Bezug auf den RAM stehen, den Sie für Ihren Knotenprozess zur Verfügung haben, und in Ihrem Fall, wenn Ihr Knotenprozess mehr als ~ 500M RAM benötigt, sollte es einen gc-Anruf von sich aus auslösen.

+0

danke, ich hatte das 'SCRIPT [script-options]' bisschen verpasst! Meinst du, ich sollte '-Optimize_for_size --max_old_space_size = 460' verwenden, aber '--gc_interval = 100' fallen lassen? – Manube

+0

Yup, tun Sie das nur, wenn Sie Probleme mit dem Speicher haben oder nach einem Speicherleck suchen. –

+0

Sollte das sein './node_modules/.bin/forever -m 5 start -c" node --max_old_space_size = 460 --gc_interval = 100 "server.js? –

Verwandte Themen