javascript - node.js JS 堆内存不足错误 - 无论 max-old-space-size 设置如何
问题描述
我正在使用 Radix-4 FFT 的 JS 实现(这个:https ://www.npmjs.com/package/fft.js )。我正在分析 2^25 个浮点数的序列。该包在具有此大小信号的浏览器端可以正常工作,但在 node.js 上它会崩溃:
致命错误:无效的数组长度分配失败 - JavaScript 堆内存不足
[19262:0x559417f70870] 20352 ms:清除 634.2 (656.1) -> 633.5 (671.6) MB,65.3 / 0.0 ms 分配失败
该过程在崩溃之前仅达到大约 500-600mb,并且更改 max-old-space-size 没有任何区别。就内存管理而言,这个 fft 实现可能不是很好,我只是想在返回使用一些外部脚本(例如 scipy)进行 FFT 之前尝试使用它。无论哪种方式,我都想知道我在这里撞到了什么墙。这可能是一个非常简单的我不知道的..
谢谢
通过在 fft 实现中从普通数组更改为类型化数组来解决 - 节点进程然后使用更多内存但单个对象更小
解决方案
推荐阅读
- prestashop - 如何在 Prestashop 中获取产品修改日志?
- sql-server - 从版本 8 到版本 6 的包迁移失败并出现错误
- webpack - Chrome 浏览器扩展程序是否需要使用哈希文件名来清除缓存?
- jquery - Jquery 从 LocalStorage 检索具有相同起始模式的多个键
- typescript - `tsc` 无法将 .ts 文件编译为 .js
- excel - 确定某个文件是否存在于文件夹文件路径中,该文件路径包含在 Excel 上的单元格中,用于一系列单元格?
- python - 使用 Azure 和 Juypter Notebook 进行面部识别
- sql - 为什么我的查询没有加载或需要这么长时间?
- c# - 查询需要在 .ThenInclude 之后使用 .Where 子句进行过滤
- python - fast.ai:在训练过程中防止输出