亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嚴重錯誤:CALL_AND_RETRY_LAST分配失敗-內存不足

嚴重錯誤:CALL_AND_RETRY_LAST分配失敗-內存不足

拉莫斯之舞 2019-10-06 14:08:22
節點版本為 v0.11.13崩潰期間的內存使用情況sudo top未超出3%產生此錯誤的代碼:var request = require('request')var nodedump = require('nodedump')request.get("http://pubapi.cryptsy.com/api.php?method=marketdatav2",function(err,res){    var data    console.log( "Data received." );    data = JSON.parse(res.body)    console.log( "Data parsed."   );    data = nodedump.dump(data)    console.log( "Data dumped."   );     console.log( data )})要檢查是否存在遞歸堆棧大小問題,我使用--stack-size = 60000參數運行了下一個代碼var depth = 0;(function recurse() {    // log at every 500 calls    (++depth % 500) || console.log(depth);    recurse();})();并得到了264500 Segmentation fault然后,我運行了導致嚴重錯誤的代碼:CALL_AND_RETRY_LAST分配失敗-使用相同的--stack-size = 60000參數處理內存不足,并且沒有得到Segmentation fault。因此,我得出結論CALL_AND_RETRY_LAST與遞歸堆棧大小沒有共同之處。我該如何解決這個問題?我相信我的計算機上有足夠的可用內存來成功完成此任務。關于stackoverflow也有類似的問題,但是這些問題都不是CALL_AND_RETRY_LAST我創建單獨問題的原因。
查看完整描述

4 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

如果您查看源代碼github / v8,似乎您嘗試保留一個非常大的對象。根據我的經驗,如果您嘗試解析一個巨大的JSON對象,就會發生這種情況,但是當我嘗試使用JSON和node0.11.13,一切正常。


您不需要更多--stack-size,您需要更多的內存:--max_new_space_size和/或--max_old_space_size。


我可以給您的唯一提示是嘗試另一個JSON解析器和/或嘗試將輸入格式更改為JSON行而不是僅JSON。


查看完整回答
反對 回復 2019-10-06
?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

要解決此問題,您需要通過使用option增加內存限制來運行應用程序--max_old_space_size。默認情況下,Node.js的內存限制為512 mb。


node --max_old_space_size=2000  server.js 


查看完整回答
反對 回復 2019-10-06
?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

我發現這max_new_space_size不是節點4.1.1中的選項,max_old_space_size僅靠它并不能解決我的問題。我將以下內容添加到我的shebang中,并且這些方法的組合似乎有效:


#!/usr/bin/env node --max_old_space_size=4096 --optimize_for_size --max_executable_size=4096 --stack_size=4096

[編輯]:4096 === 4GB的內存,如果您的設備內存不足,則可能需要選擇較小的容量。


[更新]:運行grunt時還發現了此錯誤,該錯誤以前是這樣運行的:


./node_modules/.bin/grunt

將命令更新為以下命令后,它不再出現內存錯誤:


node --max_old_space_size=2048 ./node_modules/.bin/grunt 


查看完整回答
反對 回復 2019-10-06
  • 4 回答
  • 0 關注
  • 1581 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號