Search code examples
node.jsnpmgruntjsghost-blog

How to limit CPU and memory usage for node processes


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


Solution

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