How to use the NODE_OPTIONS environment variable to set the max_old_space_size globally in Windows?

Viewed 97905

Workaround to fix heap out of memory when running node binaries (which is a common issue when using TypeScript 2.1+ and webpack) is increasing the max mem for node.

increase-memory-limit is a package to do that. In the link, it says

As of Node.js v8.0 shipped August 2017, you can now use the NODE_OPTIONS environment variable to set the max_old_space_size globally. export NODE_OPTIONS=--max_old_space_size=4096

But how do I set that environment variable in Windows? In powershell, it is giving me the error "export : The term 'export' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.".

4 Answers

export is a Linux command. You can use set for Windows:

set NODE_OPTIONS=--max_old_space_size=4096

If running with powershell, the command for setting NODE_OPTIONS should be like:

$env:NODE_OPTIONS="--max-old-space-size=8192"

And then you can check whether it's applied with following command:

node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))'
8240

To resolve this issue on AWS Instance,

Login into AWS Console and turn of the instance from the Instance State tap

Then under the Action tap

Select change instance type

Then choose t2.medium, save and exit

Go back and start then instance

Then run your app again

This common on t2.micro instance cause it is 1 gig Ram

Thanks

Related