如何限制节点进程的CPU和内存使用量

PDX*_*III 11 node.js npm gruntjs ghost

我想通过GitHub在共享服务器上安装Ghost博客.在安装过程中,我需要运行npm install, grunt init并且grunt prod.我的主机提供500 MB的内存使用量,如果一个进程使用超过600 MB,他就会杀掉它.

因此,我需要一个选项来限制这些进程的内存使用量,因为它们都需要超过500 MB的内存!

我试图运行这些进程,--max-old-space-size=450但它似乎不起作用.

如果有人能为我提供有关使用选项运行节点进程的教程或文档的链接,我会很高兴.

谢谢!

更新: 因为我发布了这个,Ghost的安装已经完全改变了.

Que*_*tel 8

在节点v8 +中,输入以下内容:

node --help
Run Code Online (Sandbox Code Playgroud)

显示--v8-options选项。然后键入:

node --v8-options
Run Code Online (Sandbox Code Playgroud)

给出:

...
--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
...
Run Code Online (Sandbox Code Playgroud)

我设法使用第一个选项是这样的:

node --max-old-space-size=250 `which npm` install
Run Code Online (Sandbox Code Playgroud)

在这里,我们告诉节点将RAM使用限制为250Mo,“女巫npm”部分提供了当前的npm路径,“安装”是您要运行的脚本。

  • @PDXIII绝对!我目前在一个执行该命令的项目上有一个自动部署管道,以避免超出有限的Docker容器允许的最大RAM使用量。 (2认同)

小智 6

我使用以下内容,它就像一个魅力

NODE_OPTIONS=--max_old_space_size=50 npm install
Run Code Online (Sandbox Code Playgroud)