使用节点读取文件时,JavaScript堆满了内存

时间:2019-05-02 11:25:59

标签: node.js filesystems

我正在尝试读取文件,以将其解析为具有某些处理过程的其他文件类型。但我无法从文件中获取任何内容,因为它只会向我返回“垃圾收集器”错误

我也尝试过Property.create方法,但对我没有用。我什至尝试增加节点的堆/内存,但没有用。

fs.readFile( '1401_complete.xml', 'utf-8', ( err, xmlData ) => {
    if ( err ) throw err;
    if ( parser.validate( xmlData ) === true ) { //optional (it'll return an object in case it's not valid)
        var jsonObj = parser.parse( xmlData, options );
        console.log(xmlData);
    }
});

我希望在控制台上打印该文件的数据,或者我也可以处理该文件并将其处理后的数据保存到其他文件中,但是如果此读取文件功能有效,则将来可以使用。

我面临的错误是

  

<---后几个GC --->

     

[14488:000002CAF943F8A0] 32978毫秒:清除1394.7(1405.1)->   1393.9(1406.1)MB,1.6 / 0.0 ms(平均mu = 0.229,当前mu = 0.219)分配失败[14488:000002CAF943F8A0] 32982 ms:清除1394.8(1406.1)-> 1394.0(1406.6)MB,1.2 / 0.0 ms(平均   mu = 0.229,当前mu = 0.219)分配失败   [14488:000002CAF943F8A0] 32985 ms:清除1394.9(1406.6)->   1394.1(1407.1)MB,1.1 / 0.0 ms(平均亩= 0.229,当前亩= 0.219)分配失败

     

<--- JS堆栈跟踪--->

     

==== JS堆栈跟踪======================================== =

0: ExitFrame [pc: 000003DE48550361]
1: StubFrame [pc: 000003DE4854737B] Security context: 0x01fac3d9d969 <JSObject>
2: replace [000001FAC3D8F509](this=0x03afb37195c9 <String[18]: Container capacity>,0x00d138f05e21 <JSRegExp <Very long
     

string [16829] >>,0x03afb37197e1)       3:processTagValue(aka processTagValue)[00000115E29F4771] [D:\ POC \ Xml-Parser \ node_modules \ fast-xml-parser \ src \ xmlstr2xml ...

     

致命错误:接近堆限制分配的无效标记压缩   失败-JavaScript堆内存不足1:00007FF6CD10D945 2:   00007FF6CD0E5EE6 3:00007FF6CD0E68D0 4:00007FF6CD52677E 5:   00007FF6CD5266B7 6:00007FF6CD7FC724 7:00007FF6CD7F23CE 8:   00007FF6CD7F0AC8 9:00007FF6CD7FA3A7 10:00007FF6CD7FA426 11:   00007FF6CD3BE951 12:00007FF6CDB0EF92 13:000003DE48550361

0 个答案:

没有答案