2015-09-15 91 views
6

我想要install a Ghost Blog on a shared server via GitHub。在安裝過程中,我需要運行npm install, grunt initgrunt prod。我的主機提供500 MB的內存使用量,如果一個進程使用超過600 MB的內存,他會殺死它。如何限制節點進程的CPU和內存使用率

因此,我需要一個選項來限制這些進程的內存使用情況,因爲它們都需要超過500 MB的內存!

我試圖運行與--max-old-space-size=450進程,但它似乎並沒有工作。

如果有人能夠提供給我一個關於使用選項運行節點進程的教程或文檔的鏈接,我將很高興。

謝謝!

UPDATE: 既然我已經張貼了這個幽靈的安裝已完全改變。

+0

如果您的主機操作系統是Linux,您可以使用cgroups來限制任何進程的內存使用情況。 – slebetman

+0

cgroups未停滯,我不允許安裝它。但是謝謝你! – PDXIII

回答

1

從節點V8 +,鍵入以下內容:

node --help 

顯示--v8選項選項。然後鍵入:

node --v8-options 

給出:

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

我已成功地使用這樣的第一個選項:

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

在這裏,我們告訴節點限制RAM使用量250Mo,在「女巫npm'部分給出了當前的npm路徑,'install'是你想要運行的腳本。

+0

也許我不需要了,但出於好奇讓我們假設我有一個典型的帶有_package.json_的npm項目,並且我想限制'''我可以導航到應用程序目錄並鍵入'''node --max-old-space-size = 250 npm start'''。 – PDXIII

+0

@PDX絕對!我現在有一個自動部署管道項目執行此命令,以避免超過有限的Docker容器允許的最大RAM使用量。 –

+0

@QuetinPétel,謝謝!請試試這個! – PDXIII

1

這就是你怎麼做到的。

您發送命令來限制RAM的使用。

npm install --max-old-space-size=400 
+0

謝謝你的回答。但正如我在我原來的文章中所描述的那樣,我已經嘗試過了,它似乎並沒有奏效。但無論如何,我找到了一個工作。 – PDXIII

+0

@PDXIII嘿。你是如何解決這個問題的?謝謝 – tomexx

+0

@tomexx我只是沒有。我解決了它。我想在本地構建的服務器上構建的項目。 – PDXIII