2015-09-15 14 views
6

Vorrei install a Ghost Blog on a shared server via GitHub. Durante l'installazione, ho bisogno di eseguire npm install, grunt init e grunt prod. Il mio host fornisce 500 MB di memoria, se un processo utilizza più di 600 MB lo uccide.Come limitare l'utilizzo della CPU e della memoria per i processi del nodo

Pertanto, ho bisogno di un'opzione per limitare l'utilizzo della memoria di questi processi perché hanno tutti bisogno di più di 500 MB di memoria!

Ho provato a eseguire i processi con --max-old-space-size=450 ma non sembra funzionare.

Sarei felice se qualcuno potesse fornirmi un collegamento a un tutorial o documentazione sull'esecuzione dei processi del nodo con le opzioni.

Grazie!

UPDATE: Da quando ho postato questo l'installazione di Ghost è completamente cambiata.

+0

Se il sistema operativo host è linux, è possibile utilizzare cgroups per limitare l'utilizzo della memoria di QUALSIASI processo. – slebetman

+0

cgroups non è in stallato e non sono autorizzato a installarlo. Ma grazie! – PDXIII

risposta

1

Da nodo v8 +, digitando quanto segue:

node --help 

mostrano un'opzione --v8-options. Quindi digitando:

node --v8-options 

dà:

... 
--max_old_space_size (max size of the old space (in Mbytes)) 
    type: int default: 0 
--initial_old_space_size (initial old space size (in Mbytes)) 
    type: int default: 0 
... 

Sono riuscito a usare la prima opzione in questo modo:

node --max-old-space-size=250 `which npm` install 

Qui abbiamo detto nodo di limitare l'utilizzo di RAM per 250Mo, il ' La parte strega di npm fornisce il percorso corrente di npm e 'installa' è lo script che si desidera eseguire.

+0

Probabilmente non mi serve più, ma per curiosità diciamo che ho un tipico progetto npm con un _package.json_ e voglio limitare l'uso della CPU del '' ' start''', posso navigare nella directory dell'app e digitare '' 'node --max-old-space-size = 250 npm start'''. – PDXIII

+0

@PDXIII Assolutamente! Al momento dispongo di una pipeline di distribuzione automatizzata su un progetto che esegue questo comando per evitare di superare l'importo massimo di utilizzo della RAM consentito da un contenitore Docker limitato. –

+0

@Quetin Pétel, grazie! Provalo! – PDXIII

1

Ecco come lo si fa.

Si invia un comando per limitare l'utilizzo della RAM.

npm install --max-old-space-size=400 
+0

Grazie per la risposta. Ma come ho descritto nel mio post originale, l'ho provato e non sembrava funzionare. Ma comunque ho trovato un lavoro in giro. – PDXIII

+0

@PDXIII Ehi. Come hai risolto il problema? Grazie – tomexx

+0

@ tomexx non l'ho fatto. Ci ho lavorato intorno. Il progetto che volevo costruire sul server l'ho realizzato localmente. – PDXIII

Problemi correlati