即使可用堆内存远大于已用内存,也会出现堆内存不足的情况

2023-12-08

即使我使用以下命令运行具有高堆内存的节点,也会收到以下错误:node --max-old-space-size=8000 manipulateFiles.js

FATAL ERROR: invalid table size Allocation failed - JavaScript heap out of memory
1: 0x8dc510 node::Abort() [node]
2: 0x8dc55c  [node]
3: 0xad9b5e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
4: 0xad9d94 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
5: 0xec7bf2  [node]
6: 0x102d7b2 v8::internal::OrderedHashTable<v8::internal::OrderedHashMap, 2>::Allocate(v8::internal::Isolate*, int, v8::internal::PretenureFlag) [node]
7: 0x1030946 v8::internal::OrderedHashTable<v8::internal::OrderedHashMap, 2>::Rehash(v8::internal::Handle<v8::internal::OrderedHashMap>, int) [node]
8: 0x1030f69 v8::internal::OrderedHashTable<v8::internal::OrderedHashMap, 2>::EnsureGrowable(v8::internal::Handle<v8::internal::OrderedHashMap>) [node]
9: 0x1114c7e v8::internal::Runtime_MapGrow(int, v8::internal::Object**, v8::internal::Isolate*) [node]
10: 0x908bb15be1d 
Aborted (core dumped)

崩溃时使用的堆内存量为1.79G。可用量为6.15G。我使用了 v8 模块process得到这些数字。

所以显然除了堆大小之外还有其他原因导致了这个问题。该模块基本上扫描一个大型 CSV 文件并构建一个地图以供以后在该过程中参考。该地图最多可以有 3000 万个键。该模块在其他较小的文件(1000 万个密钥)上运行良好。但即使可用的堆大小远远大于正在使用的大小,它仍然会在这里出现此错误。

还有什么可能导致这样的问题?


V8 开发者在这里。尽管您在堆栈跟踪中看到了函数名称,但这并不是关于总体内存不足,而是关于运行到单个对象的最大大小(Map在这种情况下)。请参阅解释详细信息的这个答案:https://stackoverflow.com/a/54466812/6036428

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

即使可用堆内存远大于已用内存,也会出现堆内存不足的情况 的相关文章

  • 在 Vue.js 中从父组件执行子方法

    目前 我有一个 Vue js 组件 其中包含其他组件的列表 我知道使用 vue 的常见方式是将数据传递给孩子 并从孩子向父母发出事件 但是 在这种情况下 我想在子组件中的按钮出现时执行子组件中的方法 parent被点击 哪种方法最好 一种建
  • 使用 useReducers 调度函数发送多个操作?

    使用时是否可以通过调度函数发送多个动作useReducer挂钩反应 我尝试向它传递一组操作 但这会引发未处理的运行时异常 明确地说 通常会有一个初始状态对象和一个减速器 如下所示 const initialState message1 nu
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 使用 Angular 下载具有动态 src 的脚本

    Angular 提供了通过动态名称动态加载模板的方法ng include 该部分中的内联 JS 和 CSS 可以正常加载 但没有一个好的方法来下载带有动态 url 的脚本 我们需要下载脚本 相对于调用它们的 html 部分的路径 即我们有一
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • 如何抑制窗口鼠标滚轮滚动...?

    我正在开发嵌入页面中的画布应用程序 我有它 因此您可以使用鼠标滚轮放大绘图 但不幸的是 这会滚动页面 因为它是文章的一部分 当我在 dom 元素上滚动鼠标滚轮时 是否可以阻止鼠标滚轮在窗口上滚动 附加鼠标滚轮 不是 Gecko DOMMou
  • 除了更改标题之外,如何在 Firefox 中强制另存为对话框?

    有没有办法在 ff 中强制打开 www example com example pdf 的另存为对话框 我无法更改标题 如果您可以将文件以 Base64 格式输出到客户端 则可以使用 data uri 进行下载 location href
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • 在 webpack 2.x 中使用 autoprefixer 和 postcss

    如何使用autoprefixer使用 webpack 2 x 以前 它曾经是这样的 module loaders test scss loader style css sass postcss postcss gt return autop
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • 如何获取 vuejs 组件单元测试中定义的“this”变量

    我正在尝试在 npm 脚本中使用 mocha webpack 来测试 vuejs 组件 我在测试中像这样嘲笑 vuex 商店 const vm new Vue template div div
  • 提交表单并重定向页面

    我在 SO 上看到了很多与此相关的其他问题 但没有一个对我有用 我正在尝试提交POST表单 然后将用户重定向到另一个页面 但我无法同时实现这两种情况 我可以获取重定向或帖子 但不能同时获取两者 这是我现在所拥有的
  • 如何在机器人框架中的两条消息之间设置延迟 - Node.js

    我正在开发一个机器人 它使用 botbuilder JS V4 使用 Direct Line 连接到我们的客户端应用程序 由于某些原因 消息以错误的顺序发送给机器人 例如 用户 你好 机器人 我能帮你什么忙吗 机器人 嗨 我是机器人 作为解
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • 无法运行 npm install

    In here http devdocs magento com guides v2 0 frontend dev guide css topics css debug html它说要跑npm install 但是当我运行时出现此错误sud
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • 如何更改此 jquery 插件的时区/时间戳?

    我正在使用这个名为 timeago 的插件 在这里找到 timeago yarp com 它工作得很好 只是它在似乎不同的时区运行 我住在美国东部 费城时区 当我将准确的 EST 时间放入 timeago 插件时 比如 2011 05 28
  • 如何在 pg-promise 中设置模式

    我正在搜索的文档pg 承诺 https github com vitaly t pg promise特别是在创建客户端时 但我无法找到设置连接中使用的默认架构的选项 它始终使用public架构 我该如何设置 通常 为数据库或角色设置默认架构
  • 如何获取浏览器视口中当前显示的内容

    如何获取当前正在显示长文档的哪一部分的指示 例如 如果我的 html 包含 1 000 行 1 2 3 9991000 并且用户位于显示第 500 行的中间附近 那么我想得到 500 n501 n502 或类似的内容 显然 大多数场景都会比
  • Mongoose - 查询从多个集合中获取数据

    我想要获取猫鼬的查询在 Node js 应用程序中 如下所述输出 user js comment js 和 post js 是我使用的模型文件 user js var mongoose require mongoose var Schema

随机推荐

  • 无法加载包“Microsoft.Net.Native.SharedLibrary-x64”

    我要更新Microsoft NETCore UniversalWindowsPlatform但它显示一个错误 Unable to load package Microsoft Net Native SharedLibrary x64 如果我
  • 为什么在销毁对象后使用该对象时没有收到异常?

    下面的代码工作得很好 但它不应该 当我单击 Button1 时 该对象首先被销毁 然后使用其值 并且我没有收到任何访问冲突或其他内容 更重要的是 乘法运算给出了正确的结果 这证明了Obj1没有被毁掉 但话又说回来 这也不是真的 因为当我关闭
  • 将 fileChooserParams 中的 mime 类型转换为 Intent.setType 的正确格式

    我正在尝试使用 Android 中的 WebView 上传文件 This is the code in use TargetApi Build VERSION CODES LOLLIPOP Override public boolean o
  • 在局部变量的嵌套函数内部使用“get”

    我从来没有完全理解嵌套函数和通过引用传递参数 我的策略通常是做类似的事情get variabletopassbyreference 在子函数内部来完成此操作 到目前为止 我一直将全局变量传递给函数 并且效果很好 今天 我尝试在函数内创建局部
  • 使用 JavaScript 将 Excel 转换为 PDF

    如何自动将 Excel 文档 文件 转换为 PDF 我正在尝试调整找到的解决方案here脱颖而出 到目前为止我有这个 var fso new ActiveXObject Scripting FileSystemObject var docP
  • 禁用 freemarker 日志

    我正在使用 Struts 2 0 11 2 但我不知道我的应用程序最近发生了什么变化 我收到了大量的 freemarker 日志 DEBUG 13201 freemark template simple hidden ftl en UTF
  • 如何将 LaTeX/amsmath 与 matplotlib 一起使用?

    当我尝试在 matplotlib 中使用 LaTeX amsmath 包时 出现了一系列难以理解的错误 有没有人能够让这样的事情发挥作用 如果是这样 我很想看一个例子 这是我尝试过的 import matplotlib from matpl
  • iPhone 上的 UIPopoverPresentationController 不产生弹出窗口

    我正在尝试实施新的UIPopoverPresentationController在我的 iPhone 应用程序中 使用 Objective C 我想要的是一个简单的弹出窗口 其中包含从启动按钮发出的表格视图 Edit 这是我的REVISED
  • Python 3.4.0 与 MySQL 数据库

    我已经安装了Python版本 3 4 0我想做一个使用 MySQL 数据库的项目 我下载并尝试安装MySQLdb 但对于这个版本的 Python 来说并不成功 有什么建议可以解决这个问题并正确安装吗 MySQLdb 不支持 Python 3
  • 为什么这个内存地址 %fs:0x28 ( fs[0x28] ) 有一个随机值?

    我编写了一段 C 代码 并将其反汇编并读取寄存器以了解程序在汇编中的工作原理 int test char this char sum buf 6 strncpy sum buf this 32 return 0 我一直在检查的代码片段是测试
  • Python:使用 isin 或 wkn 调用 pandas_datareader 或将其转换为股票代码?

    我有一份包含 ISIN 和 WKN 编号的股票清单 我的目标是使用 pandas datareader 获取该股票的历史数据 我的问题是 该功能例如 import pandas datareader as web stock web Dat
  • Android HttpPost:如何获取结果

    我一直在尝试发送 HttpPost 请求并检索响应 但即使我能够建立连接 我仍然不知道如何获取请求响应返回的字符串消息 HttpClient httpclient new DefaultHttpClient HttpPost httppos
  • 在 PHP 中从 MySQL 创建下拉菜单?

    我对 PHP 和 MySQL 有一定的经验 所以我有点掌握了一些东西 但是我有点试图得到一些可能超出我水平的东西 不太确定这方面的难度级别 基本上 我希望创建 2 个下拉菜单来删除 MySQL 表中用户的访问权限 因此 第一个下拉菜单将用于
  • solr 评分 - fieldnorm

    当我搜索 iphone 时 我有以下记录和分数 记录1 字段名称 显示名称 Iphone FieldName 名称 Iphone 11 654595 MATCH sum of 11 654595 MATCH max plus 0 01 ti
  • 在全屏 3D 应用程序中获取桌面屏幕截图

    使用全屏 3D 应用程序 例如游戏 时是否可以将桌面渲染为屏幕截图 或者游戏运行时Windows会关闭渲染引擎吗 我正在寻找将桌面渲染为游戏中纹理的方法 类似 RDP 的协议可以作为解决方案吗 编辑 为了澄清 是否有任何深层 API 机制可
  • 如何从 TOleContainer 中提取图元文件?

    我有一个带有 TOleContainer 控件的 Delphi BDS 2006 应用程序 它内部有一个 OLE 对象 即 MS Office 2003 中的 MS Equation 公式 名称 Equation 3 如何从公式图像中提取矢
  • 在 C++ 中使用 istringstream

    我有一些代码利用 fork execlp 和 wait 来创建两个进程 目标是能够重复打印提示并让用户输入最多包含 4 个参数 选项的命令 int main string command argument istringstream iss
  • 什么是静态工厂方法?

    什么是 静态工厂 方法 The 静态工厂方法模式是一种封装对象创建的方法 如果没有工厂方法 您只需调用该类的构造函数直接地 Foo x new Foo 使用这种模式 您可以调用工厂方法 Foo x Foo create 构造函数被标记为私有
  • 如何避免 SQL 中 INSERT 的重复值?

    我有一张表 名为 Delegates 该表有四个字段 ID Auto increment Primary MemberNo FromYr ToYr 我用这个查询插入 INSERT INTO Delegates MemNo FromYr To
  • 即使可用堆内存远大于已用内存,也会出现堆内存不足的情况

    即使我使用以下命令运行具有高堆内存的节点 也会收到以下错误 node max old space size 8000 manipulateFiles js FATAL ERROR invalid table size Allocation