How to limit CPU and memory usage for node processes

PDXIII picture PDXIII · Sep 15, 2015 · Viewed 17.3k times · Source

I would like to install a Ghost Blog on a shared server via GitHub. During the installation, I need to run npm install, grunt init and grunt prod. My host provides 500 MB memory usage, if a process uses more than 600 MB he kills it.

Therefore I need an option to limit the memory usage of these processes because they all need more than 500 MB of memory!

I tried to run the processes with --max-old-space-size=450 but it does not seem to work.

I would be glad if anyone could provide me a link to a tutorial or documentation about running node processes with options.

Thank you!

UPDATE: Since I’ve posted this the installation of Ghost has changed completely.

Answer

Quentin Petel picture Quentin Petel · Jan 22, 2018

From node v8+, typing the following:

node --help

show a --v8-options option. Then typing:

node --v8-options

gives:

...
--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
...

I have managed to use the first option like this:

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

Here we told node to limit RAM usage to 250Mo, the 'which npm' part gives the current npm path and 'install' is the script you want to run.