Scavenger:分配失败 - JavaScript 堆内存不足

2024-03-27

这是错误消息:

<--- Last few GCs --->
[2383:0x7efe08001450]     6100 ms: Scavenge 30.3 (39.5) -> 30.5 (42.7) MB, 73.5 / 0.0 ms  (average mu = 1.000, curr
ent mu = 1.000) allocation failure 
[2383:0x7efe08001450]     8464 ms: Scavenge 35.1 (44.5) -> 35.3 (44.8) MB, 2336.2 / 0.0 ms  (average mu = 1.000, cu
rrent mu = 1.000) allocation failure 

[2383:0x7efe08001450]    32349 ms: Scavenge 36.1 (44.8) -> 36.0 (45.8) MB, 23879.5 / 0.2 ms  (average mu = 1.000, c
urrent mu = 1.000) allocation failure 
<--- JS stacktrace --->
FATAL ERROR: Scavenger: semi-space copy Allocation failed - JavaScript heap out of memory
 1: 0xa2b020 node::Abort() [node]
 2: 0x97a467 node::FatalError(char const*, char const*) [node]
 3: 0xb9e0ee v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
 4: 0xb9e467 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
 5: 0xd3e875  [node]
 6: 0xdab25e  [node]
 7: 0xdae060 v8::internal::Scavenger::Process(v8::internal::OneshotBarrier*) [node]
 8: 0xdaeb29 v8::internal::ScavengingTask::ProcessItems() [node]
 9: 0xdaecd1 v8::internal::ScavengingTask::RunInParallel(v8::internal::ItemParallelJob::Task::Runner) [node]
10: 0xd590f9 v8::internal::ItemParallelJob::Run() [node]
11: 0xdaf9c5 v8::internal::ScavengerCollector::CollectGarbage() [node]
12: 0xd37aba v8::internal::Heap::Scavenge() [node]
13: 0xd4d37b v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [nod
e]
14: 0xd4de65 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReaso
n, v8::GCCallbackFlags) [node]
15: 0xd5082c v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal
::AllocationOrigin, v8::internal::AllocationAlignment) [node]
16: 0xd20e82 v8::internal::Factory::AllocateRawWithAllocationSite(v8::internal::Handle<v8::internal::Map>, v8::inte
rnal::AllocationType, v8::internal::Handle<v8::internal::AllocationSite>) [node]
17: 0xd20f38 v8::internal::Factory::NewJSObjectFromMap(v8::internal::Handle<v8::internal::Map>, v8::internal::Alloc
ationType, v8::internal::Handle<v8::internal::AllocationSite>) [node]
18: 0xd2130e v8::internal::Factory::NewJSArrayWithUnverifiedElements(v8::internal::Handle<v8::internal::FixedArrayB
ase>, v8::internal::ElementsKind, int, v8::internal::AllocationType) [node]
19: 0xd24a32 v8::internal::Factory::NewJSArray(v8::internal::ElementsKind, int, int, v8::internal::ArrayStorageAllo
cationMode, v8::internal::AllocationType) [node]
20: 0xf6edbb v8::internal::ValueDeserializer::ReadDenseJSArray() [node]
21: 0xf6f1cd v8::internal::ValueDeserializer::ReadObjectInternal() [node]
22: 0xf6f338 v8::internal::ValueDeserializer::ReadObject() [node]
23: 0xf6d80d v8::internal::ValueDeserializer::ReadJSObjectProperties(v8::internal::Handle<v8::internal::JSObject>, 
v8::internal::SerializationTag, bool) [node]
24: 0xf6ec06 v8::internal::ValueDeserializer::ReadSparseJSArray() [node]
25: 0xf6f118 v8::internal::ValueDeserializer::ReadObjectInternal() [node]
26: 0xf6f338 v8::internal::ValueDeserializer::ReadObject() [node]
27: 0xf6e186 v8::internal::ValueDeserializer::ReadJSObjectProperties(v8::internal::Handle<v8::internal::JSObject>, 
v8::internal::SerializationTag, bool) [node]
28: 0xf6e959 v8::internal::ValueDeserializer::ReadJSObject() [node]
29: 0xf6f140 v8::internal::ValueDeserializer::ReadObjectInternal() [node]
30: 0xf6f338 v8::internal::ValueDeserializer::ReadObject() [node]
31: 0xf6d80d v8::internal::ValueDeserializer::ReadJSObjectProperties(v8::internal::Handle<v8::internal::JSObject>, 
v8::internal::SerializationTag, bool) [node]
32: 0xf6e959 v8::internal::ValueDeserializer::ReadJSObject() [node]
33: 0xf6f140 v8::internal::ValueDeserializer::ReadObjectInternal() [node]
34: 0xf6f338 v8::internal::ValueDeserializer::ReadObject() [node]
35: 0xba6e15 v8::ValueDeserializer::ReadValue(v8::Local<v8::Context>) [node]
36: 0xa720ff node::worker::Message::Deserialize(node::Environment*, v8::Local<v8::Context>) [node]
37: 0xa72d86 node::worker::MessagePort::ReceiveMessage(v8::Local<v8::Context>, bool) [node]
38: 0xa72ee4 node::worker::MessagePort::OnMessage() [node]
39: 0x13247e9  [node]
40: 0x1336c50  [node]
41: 0x13250f8 uv_run [node]
42: 0xae3533 node::worker::Worker::Run() [node]
43: 0xae3fc8  [node]
44: 0x7eff53bdafa3  [/lib/x86_64-linux-gnu/libpthread.so.0]
45: 0x7eff53b0b4cf clone [/lib/x86_64-linux-gnu/libc.so.6]

GCP 上的节点服务器 - Linux x64、96 核、135GB RAM。我正在处理一个包含 100.000.000 个项目的数组,分为 95 个核心并创建工作线程。

这只是我得到的错误类型之一,我得到了NewArray Allocation failed以及例如。我在玩弄工人的数量,--max-old-space-size, --max-semi-space-size,但没有一个有效。最有趣的是我的 mac 有 6 核,16GB 内存(只有 10 个给节点)运行良好,只是速度慢,随着硬件资源的增加,我期待更快的结果。

这是我第一次尝试处理这么大量的数据,并且使用节点进行多线程,我做错了什么?


None

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

Scavenger:分配失败 - JavaScript 堆内存不足 的相关文章

随机推荐

  • Winforms 中是否可以从 ListView 拖放到 TreeView?

    如果不可能的话 我还可以使用 2 个 TreeView 控件 我只是不会在第二个 TreeView 控件中具有层次结构 它就像某种存储库 任何代码示例或教程都会非常有帮助 ListView自然不支持拖放 但您可以使用少量代码启用它 http
  • 如何在cordova应用程序中创建两个离子模式?

    您好 在我的应用程序中 我已经有一个用于登录的离子模式 ionicModal fromTemplateUrl templates login html scope scope then function modal scope modal
  • 如何隔离Spring Boot应用程序Redis和Spring Boot会话全局Redis

    据我所知 spring boot和spring session为我们提供了一站式自动配置 但是当我的应用程序使用会话redis和应用程序缓存redis时 不是同一个redis服务器 我该如何配置呢 非常感谢您的回复 事实上 默认情况下 sp
  • OpenGL资源共享策略

    我正在创建一个类似 CAD 的应用程序 基于 Qt 它将是一个多文档界面 每个文档将包含大约 5 个视口 源自 QGLWidget 因此 我需要在整个应用程序中共享平面着色器 然后在每个文档 即 5 个视口 之间共享 3D 资源 存储为 V
  • 在两台显示器上最大化 WPF 窗口

    就像标题一样 我希望我的 WPF 在 2 个显示器上最大化 现在我的电脑有 2 个显示器 我设置 this Width System Windows Forms Screen AllScreens 0 Bounds Width System
  • PhoneGap Android 中的 pdf 查看器

    我正在寻找使用 Phonegap 2 0 的 Android pdf 查看器 我尝试了 childbrowser 插件 它可以在 iOS 上运行 但不能在 Android 上运行 我试过这个http www giovesoft com 20
  • Symfony 2 - 删除表单和 CSRF 令牌

    我有一个来自数据库的条目列表 我希望在每一行的末尾都有一个 删除按钮 这样用户就不必先转到编辑 显示页面来删除条目 我尝试使用 csrf 令牌创建一个隐藏的输入字段 如下所示 return this gt createFormBuilder
  • 如何仅获取 Rails 路由中的查询字符串?

    我正在使用这样的路线 match v1 method gt v1 index 我的目的是捕获 api 方法的名称 然后将请求发送到控制器内的该方法 def index self send params method params end 我
  • Java递归问题

    我在Java中遇到了一个递归面试问题 需要你的帮助 Write a Java function 这样 给定一个 int 数组 是否可以将 int 分为两组 使两组之和相同 并具有以下约束 所有 5 的倍数的值必须在一组中 并且所有是 3 的
  • C 向量/数组列表/链接列表

    我正在用 C 语言编写一个小程序 我需要一种向量 ArrayList LinkedList 但我正在使用 C 语言 知道如何在 C 语言中做这种事情吗 我想存储结构 然后添加 删除一些结构 对于可调整大小的数组 您可以使用malloc an
  • PostgreSQL 中的约束和断言

    我正在尝试创建一个简单的数据库 其中有一个客户数据表和一个订单数据表 我正在尝试编写一个约束 使客户在某一天订购的商品数量不能超过特定数量 这是我所拥有的 CREATE TABLE CUSTOMER CUSTOMER NUM CHAR 3
  • python 正则表达式:用单个子替换地址中的 st、and、the 等

    我有很多地址 例如 东 19 街 或 西 141 街 我想在一次 re sub 调用中删除 th 和 st re sub d st d nd d rd d th g lt 1 gt East 19th Street 不起作用 因为它并不总是
  • 当宏注释不能在定义它的同一编译中使用时,这意味着什么?

    我对这个说法很好奇 错误 3 18 另一种可能性是您尝试使用宏 定义它的同一编译运行中的注释 我尝试谷歌搜索并发现了这个 最后 请记住 使用宏需要分两步进行编译 首先编译宏 然后编译使用宏的代码 这是必要的 以便您的宏可以在编译其余代码之前
  • .Net 中值类型有什么用?

    The 官方指南 http msdn microsoft com en us library y23b5415 aspx表明这些的实际用途很少 有没有人有例子说明他们在哪里充分利用了它们 相反 您会发现 C C 人们涌向结构 又称值类型 一
  • 如何在 python 中对 POST 方法进行单元测试?

    我有一个方法可以将包含 JSON 的 POST 发送到 Elasticsearch 实例 我正在尝试编写一个单元测试来验证发送的 JSON 的内容 但我不确定如何进行 我应该在 python 中创建一个本地服务器并让它验证 POST 的内容
  • .NET 4 构建期间未找到 LC.exe 文件

    我在迁移到 net 4 0 时遇到问题 在尝试构建时出现以下错误 C WINDOWS Microsoft NET Framework v4 0 30319 Microsoft Common targets 1917 9 error MSB3
  • vb6 打开文件以追加问题路径未找到

    Open App Path Folder str 0 For Output 似乎找不到一条路径 但是如果就在这之前我就找到了 MsgBox App Path Folder str 0 它提供了我想要的正确目录 文件名 如果我用引号中的直接路
  • 有没有办法访问之前在“heightForRowAtIndexPath”中计算的行高?

    我在方法 heightForRowAtIndexPath 中计算行的高度 但我需要在方法 cellForRowAtIndexPath 中使用该值 有没有办法访问已经计算的值 或者我需要再次进行计算 Thks Gotye None
  • Rails 使用缩写对模型进行非正统命名

    在我正在构建的应用程序中 我使用以下命令在数据库中存储 XML 文件acts as tree协会 我想给班级起个名字XMLElement但这会偏离轨道 因为大写是非标准的 它正在寻找XMLElement从文件名xml element rb
  • Scavenger:分配失败 - JavaScript 堆内存不足

    这是错误消息 lt Last few GCs gt 2383 0x7efe08001450 6100 ms Scavenge 30 3 39 5 gt 30 5 42 7 MB 73 5 0 0 ms average mu 1 000 cu