【发布时间】:2017-01-19 23:46:38
【问题描述】:
我对 erlang 有疑问。
我的一个 Erlang 节点崩溃,并生成 erl_crash.dump,原因是 atom_tab 中没有更多索引条目 (max=1048576)。
我检查了转储文件,发现有很多原子形式为'B\2209\000...,(大约1000000个条目)
=proc:<0.11744.7038>
State: Waiting
Name: 'B\2209\000d\022D.
Spawned as: proc_lib:init_p/5
Spawned by: <0.5032.0>
Started: Sun Feb 23 05:23:27 2014
Message queue length: 0
Number of heap fragments: 0
Heap fragment data: 0
Reductions: 1992
Stack+heap: 1597
OldHeap: 1597
Heap unused: 918
OldHeap unused: 376
Program counter: 0x0000000001eb7700 (gen_fsm:loop/7 + 140)
CP: 0x0000000000000000 (invalid)
arity = 0
你对它们有什么经验吗?
【问题讨论】:
-
跟踪中的信息表明,Pid
<0.11744.7038>的进程注册为'B\2209\000d\022D,它具有 gen_fsm 行为,并且它是由 spawn 或 spawn_link 或 spawn_monitor (M ,F,A) 调用。这应该可以帮助您在代码中找到它。此外,Pid 值表明在 VM 中启动了大量进程。这可能意味着您有很多并行进程,或者有很多重试。
标签: erlang crash-dumps