簡體   English   中英

嚴重錯誤:CALL_AND_RETRY_2分配失敗-在預處理我的js文件時內存不足

[英]FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory in preprocessing my js fiels

我正在嘗試針對每個平台預處理js文件並使用js-preprocess.js對其進行美化。我最多可以處理153個文件。如果文件數量增加,控制台將顯示以下錯誤! 嚴重錯誤:CALL_AND_RETRY_2分配失敗-內存不足,請幫助我解決此問題! 這是我主要工作的一個代碼段!

fs.readdir(inputdir,function(err,files) {
     console.time('PreProcessingJStime')
    files.forEach(function(file) {
        if (file.indexOf(".js") != -1) {
            console.log('PreProcessing JS File : '+file);
            fs.writeFile(outputdir+"/"+file,beautify.js_beautify(preprocess(fs.readFileSync(inputdir+"/"+file,'utf-8'),defines).join('\n'),{preserve_newlines:false}));
        }
    },this);
    console.timeEnd('PreProcessingJStime')
})

提前致謝 :)

您正在使用fs.writeFile ,它是異步的。 這意味着您正在同時寫入所有文件,並且此操作所需的所有數據都緩存在內存中。 如果將其更改為fs.writeFileSync ,則該文件以一個文件結束,然后再移至下一個文件,並且與先前文件有關的所有數據都將變為垃圾,因此垃圾收集器將在需要時獲取它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM