2016-04-12 69 views
0

當分配〜1,5Gb RAM時,我的服務器失敗。 我試圖讓它分配更多的是這樣的:NodeJS 4.4增加分配的內存

... 
var v = require('v8'); 

console.log('statistics: \n', v.getHeapStatistics()); 

v.setFlagsFromString('--max_old_space_size=8192'); 
v.setFlagsFromString('--max-new-space-size=8192'); 

console.log('statistics: ', v.getHeapStatistics()); 
... 

這是控制檯輸出:

statistics: 
{ total_heap_size: 56906064, 
    total_heap_size_executable: 8388608, 
    total_physical_size: 56906064, 
    total_available_size: 4112338936, 
    used_heap_size: 24765096, 
    heap_size_limit: 4160749568 } 
statistics: { total_heap_size: 56906064, 
    total_heap_size_executable: 8388608, 
    total_physical_size: 56906064, 
    total_available_size: 4111227648, 
    used_heap_size: 25487616, 
    heap_size_limit: 4160749568 } 

所以你看,它在做基本上沒有什麼和服務器失敗,在同樣的條件。

試過設置在命令行上的標誌:

C:\Program Files\nodejs\node.exe --max-old-space-size=8192 run.js 

,但它是相同的。

運行Win7x64

你能幫忙嗎?我需要至少8場演出..

+0

你運行'編譯爲x64體系結構node'可執行文件? –

+0

是的,node-v4.4.2-x64 – greengold

回答

0

你確定你運行到Node.js內存限制,而不是Windows memory limits for processes?之一。其中幾個是2 GB。

也許看起來1.5 GB實際上是一個2 GB限制的表示。從鏈接頁面,未列出解決方法。

+0

好吧..我不確定,但我不會這麼說。我記得我正在運行一個在這個系統上填充8個內存的過程 – greengold

0

我遇到了同樣的問題。我通過使用「增加內存限制」npm包來修復它。所有你需要爲運行這些命令2:

npm install increase-memory-limit increase-memory-limit