用node跑excel时遇到了内存溢出的问题

报错信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
[19372:00000188FE38D750]   482437 ms: Scavenge 13679.5 (14045.6) -> 13666.6 (14045.6) MB, 14.4 / 0.0 ms  (average mu = 0.989, current mu = 0.992) allocation failure
[19372:00000188FE38D750] 482469 ms: Scavenge 13680.9 (14045.6) -> 13668.1 (14045.9) MB, 14.0 / 0.0 ms (average mu = 0.989, current mu = 0.992) allocation failure
[19372:00000188FE38D750] 484236 ms: Scavenge (reduce) 13687.5 (14061.0) -> 13683.4 (14061.0) MB, 14.4 / 0.0 ms (average mu = 0.989, current mu = 0.992) allocation failure


<--- JS stacktrace --->

FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
1: 00007FF65F861DDF napi_wrap+109135
2: 00007FF65F806D06 v8::internal::OrderedHashTable<v8::internal::OrderedHashSet,1>::NumberOfElementsOffset+33350
3: 00007FF65F807AD6 node::OnFatalError+294
4: 00007FF6600D64CE v8::Isolate::ReportExternalAllocationLimitReached+94
5: 00007FF6600BB31D v8::SharedArrayBuffer::Externalize+781
6: 00007FF65FF6574C v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1516
7: 00007FF65FF502EB v8::internal::NativeContextInferrer::Infer+59339
8: 00007FF65FF3571F v8::internal::MarkingWorklists::SwitchToContextSlow+57503
9: 00007FF65FF4947B v8::internal::NativeContextInferrer::Infer+31067
10: 00007FF65FF4050D v8::internal::MarkCompactCollector::EnsureSweepingCompleted+6269
11: 00007FF65FF486CE v8::internal::NativeContextInferrer::Infer+27566
12: 00007FF65FF4C64B v8::internal::NativeContextInferrer::Infer+43819
13: 00007FF65FF55E82 v8::internal::ItemParallelJob::Task::RunInternal+18
14: 00007FF65FF55E03 v8::internal::ItemParallelJob::Run+643
15: 00007FF65FF29583 v8::internal::MarkingWorklists::SwitchToContextSlow+7939
16: 00007FF65FF409CC v8::internal::MarkCompactCollector::EnsureSweepingCompleted+7484
17: 00007FF65FF3F204 v8::internal::MarkCompactCollector::EnsureSweepingCompleted+1396
18: 00007FF65FF3CD18 v8::internal::MarkingWorklists::SwitchToContextSlow+87704
19: 00007FF65FF6B4F1 v8::internal::Heap::LeftTrimFixedArray+929
20: 00007FF65FF6D5D5 v8::internal::Heap::PageFlagsAreConsistent+789
21: 00007FF65FF627F1 v8::internal::Heap::CollectGarbage+2033
22: 00007FF65FF609F5 v8::internal::Heap::AllocateExternalBackingStore+1365
23: 00007FF65FF7AD76 v8::internal::Factory::AllocateRaw+166
24: 00007FF65FF8F49F v8::internal::FactoryBase<v8::internal::Factory>::NewRawTwoByteString+79
25: 00007FF65FE9BD70 v8::base::TimeDelta::operator!=+31136
26: 00007FF65FE9DF57 v8::base::TimeDelta::operator!=+39815
27: 00007FF65FE9BFCA v8::base::TimeDelta::operator!=+31738
28: 00007FF66004873B v8::internal::Builtins::builtin_handle+80267
29: 00007FF660048CD3 v8::internal::Builtins::builtin_handle+81699
30: 00007FF66015F0FD v8::internal::SetupIsolateDelegate::SetupHeap+464173
31: 00007FF6600F7A02 v8::internal::SetupIsolateDelegate::SetupHeap+40498
32: 00007FF6600F7A02 v8::internal::SetupIsolateDelegate::SetupHeap+40498
33: 00007FF6600F7A02 v8::internal::SetupIsolateDelegate::SetupHeap+40498
34: 00007FF6600F7A02 v8::internal::SetupIsolateDelegate::SetupHeap+40498
35: 00007FF6600F7A02 v8::internal::SetupIsolateDelegate::SetupHeap+40498
36: 00007FF6600F7A02 v8::internal::SetupIsolateDelegate::SetupHeap+40498
37: 00007FF6600F7A02 v8::internal::SetupIsolateDelegate::SetupHeap+40498
38: 00007FF6600F7A02 v8::internal::SetupIsolateDelegate::SetupHeap+40498
39: 00007FF6600F7A02 v8::internal::SetupIsolateDelegate::SetupHeap+40498
40: 00007FF6600F7A02 v8::internal::SetupIsolateDelegate::SetupHeap+40498
41: 00007FF6600F7A02 v8::internal::SetupIsolateDelegate::SetupHeap+40498
42: 00007FF6600F7A02 v8::internal::SetupIsolateDelegate::SetupHeap+40498
43: 00007FF6600F56BE v8::internal::SetupIsolateDelegate::SetupHeap+31470
44: 00007FF6600F52AC v8::internal::SetupIsolateDelegate::SetupHeap+30428
45: 00007FF65FFC5959 v8::internal::Execution::CallWasm+1657
46: 00007FF65FFC51BF v8::internal::Execution::Call+191
47: 00007FF6600B0797 v8::Function::Call+615
48: 00007FF65F83146E napi_unref_threadsafe_function+3278
49: 00007FF65F835517 node::Start+1159
50: 00007FF65F835911 node::Start+2177
51: 00007FF65F883D71 node::LoadEnvironment+49
52: 00007FF65F7C03E3 v8::internal::OrderedHashTable<v8::internal::OrderedHashSet,1>::NumberOfBucketsOffset+9299
53: 00007FF65F8351C7 node::Start+311
54: 00007FF65F6967CC RC4_options+339660
55: 00007FF66063B1EC v8::internal::compiler::RepresentationChanger::Uint32OverflowOperatorFor+152748
56: 00007FFD89657034 BaseThreadInitThunk+20
57: 00007FFD89F02651 RtlUserThreadStart+33

将跑的数据加进excel中,发现出现了MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory这个问题,于是百度查了好久,最后找到了一个不算方法的方法。

https://support.snyk.io/hc/en-us/articles/360002046418-JavaScript-heap-out-of-memory
在powershell中输入下面这个指令,将内存值调大一点,可以解决一点点问题,但是看我的报错会发现并没有解决,只要你调的内存不够,还是会继续报错。

1
$env:NODE_OPTIONS="--max-old-space-size=8192"

用node跑excel时遇到了内存溢出的问题

http://www.datehoer.com/posts/69c4d2c1-6e80-11ee-a697-01b0896cf41d/

作者

datehoer

发布于

2022-02-09

更新于

2023-10-19

许可协议

评论