使用hash.js计算大Buffer的SHA256时遇无效大小错误,调内存无果
使用hash.js计算300MB Buffer的SHA256哈希时触发V8致命错误
我在用hash.js库计算一个约300MB大小的Buffer的SHA256哈希时,遇到了以下V8致命错误:
# # Fatal error in , line 0 # Fatal JavaScript invalid size error 169220804 # # # #FailureMessage Object: 0x7ffd6dc623c0 1: 0xbe6ad1 [/mnt/user-data/jan/.nvm/versions/node/v18.14.2/bin/node] 2: 0x1e42f64 V8_Fatal(char const*, ...) [/mnt/user-data/jan/.nvm/versions/node/v18.14.2/bin/node] 3: 0xf06978 [/mnt/user-data/jan/.nvm/versions/node/v18.14.2/bin/node] 4: 0x10b48c2 [/mnt/user-data/jan/.nvm/versions/node/v18.14.2/bin/node] 5: 0x10b4b82 [/mnt/user-data/jan/.nvm/versions/node/v18.14.2/bin/node] 6: 0x12c3a5b v8::internal::Runtime_GrowArrayElements(int, unsigned long*, v8::internal::Isolate*) [/mnt/user-data/jan/.nvm/versions/node/v18.14.2/bin/node] 7: 0x1700579 [/mnt/user-data/jan/.nvm/versions/node/v18.14.2/bin/node]
我尝试通过设置--max-old-space-size参数将Node.js老年代内存上限调高到262GB(机器本身配备512GB内存),但问题依旧:
node --max-old-space-size=262144 --trace-gc-verbose ./dest
以下是错误抛出前的GC内存使用详情:
[1864454:0x6bfe770] Memory allocator, used: 1662256 KB, available: 266822352 KB [1864454:0x6bfe770] Read-only space, used: 241 KB, available: 0 KB, committed: 0 KB [1864454:0x6bfe770] New space, used: 0 KB, available: 16109 KB, committed: 32768 KB [1864454:0x6bfe770] New large object space, used: 0 KB, available: 587572 KB, committed: 0 KB [1864454:0x6bfe770] Old space, used: 15238 KB, available: 1485 KB, committed: 17024 KB [1864454:0x6bfe770] Code space, used: 1152 KB, available: 235 KB, committed: 1484 KB [1864454:0x6bfe770] Map space, used: 512 KB, available: 246 KB, committed: 776 KB [1864454:0x6bfe770] Large object space, used: 1610146 KB, available: 0 KB, committed: 1610204 KB [1864454:0x6bfe770] Code large object space, used: 0 KB, available: 0 KB, committed: 0 KB [1864454:0x6bfe770] All spaces, used: 1627291 KB, available: 267428000 KB, committed: 1662256 KB [1864454:0x6bfe770] Unmapper buffering 0 chunks of committed: 0 KB [1864454:0x6bfe770] External memory reported: 329446 KB [1864454:0x6bfe770] Backing store memory: 329643 KB [1864454:0x6bfe770] External memory global 0 KB [1864454:0x6bfe770] Total time spent in GC : 444.9 ms
从内存数据来看,系统仍有大量可用内存,但错误依然发生,请问问题出在哪里?
内容的提问来源于stack exchange,提问作者Jan Beneš
相关产品推荐
相关产品推荐

