4 回答

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果您查看源代碼github / v8,似乎您嘗試保留一個(gè)非常大的對(duì)象。根據(jù)我的經(jīng)驗(yàn),如果您嘗試解析一個(gè)巨大的JSON對(duì)象,就會(huì)發(fā)生這種情況,但是當(dāng)我嘗試使用JSON和node0.11.13,一切正常。
您不需要更多--stack-size,您需要更多的內(nèi)存:--max_new_space_size和/或--max_old_space_size。
我可以給您的唯一提示是嘗試另一個(gè)JSON解析器和/或嘗試將輸入格式更改為JSON行而不是僅JSON。

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
要解決此問題,您需要通過(guò)使用option增加內(nèi)存限制來(lái)運(yùn)行應(yīng)用程序--max_old_space_size。默認(rèn)情況下,Node.js的內(nèi)存限制為512 mb。
node --max_old_space_size=2000 server.js

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
我發(fā)現(xiàn)這max_new_space_size不是節(jié)點(diǎn)4.1.1中的選項(xiàng),max_old_space_size僅靠它并不能解決我的問題。我將以下內(nèi)容添加到我的shebang中,并且這些方法的組合似乎有效:
#!/usr/bin/env node --max_old_space_size=4096 --optimize_for_size --max_executable_size=4096 --stack_size=4096
[編輯]:4096 === 4GB的內(nèi)存,如果您的設(shè)備內(nèi)存不足,則可能需要選擇較小的容量。
[更新]:運(yùn)行g(shù)runt時(shí)還發(fā)現(xiàn)了此錯(cuò)誤,該錯(cuò)誤以前是這樣運(yùn)行的:
./node_modules/.bin/grunt
將命令更新為以下命令后,它不再出現(xiàn)內(nèi)存錯(cuò)誤:
node --max_old_space_size=2048 ./node_modules/.bin/grunt
- 4 回答
- 0 關(guān)注
- 1576 瀏覽
添加回答
舉報(bào)