How to limit CPU and memory usage for node processes
Solution 1
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.
Solution 2
I use the following and it works like a charm
NODE_OPTIONS=--max_old_space_size=50 npm install
Solution 3
This is how you do it.
You send a command to limit the ram usage.
npm install --max-old-space-size=400
PDXIII
Hello World! PDXIII is an interface designer from Berlin. You can find out more here.
Updated on July 09, 2022Comments
-
PDXIII almost 2 years
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
andgrunt 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.
-
PDXIII over 7 yearsThank you for your answer. But as I described in my original post, I’ve tried that and it did not seem to work. But anyway I found a work around.
-
PDXIII over 7 years@tomexx I just didn’t. I worked around it. The project I wanted to build on the server I built it locally.
-
tomexx over 7 years@PDXIII Ahh :( Thats a pity.
-
PDXIII over 6 yearsProbably I don’t need is anymore, but out of curiosity let’s say I have a typical npm project with a package.json and I want to limit the CPU usage of the
start
script, I can navigate to the app directory and typenode --max-old-space-size=250 npm start
. -
Quentin Petel over 6 years@PDXIII Absolutly ! I currently have an automated deployment pipeline on a project that execute this command to avoid exceeding the maximum RAM usage amount allowed by a limited Docker container.