Erlang 如果不指定节点名称,iex和erl启动非常慢

Erlang 如果不指定节点名称,iex和erl启动非常慢,erlang,archlinux,elixir,Erlang,Archlinux,Elixir,该环境是在虚拟机中运行的archlinux Erlang/OTP 17[erts-6.2][source][64位][smp:2:2] [异步线程:10][hipe][kernel poll:false] 交互式长生不老药(1.0.2)-按Ctrl+C退出(键入h()输入 (帮助) 如果我运行erl或iex,这将需要8~9秒才能启动 但是如果我运行erl-name xxx或iex-name xxx,就不会有任何延迟 当erl-sname xxx或iex--sname xxx不工作时,需要8秒或更

该环境是在虚拟机中运行的archlinux

Erlang/OTP 17[erts-6.2][source][64位][smp:2:2] [异步线程:10][hipe][kernel poll:false]

交互式长生不老药(1.0.2)-按Ctrl+C退出(键入h()输入 (帮助)

如果我运行
erl
iex
,这将需要8~9秒才能启动

但是如果我运行
erl-name xxx
iex-name xxx
,就不会有任何延迟

erl-sname xxx
iex--sname xxx
不工作时,需要8秒或更长时间

所以问题是:有没有办法跳过延迟?

你可以用它来检查发生了什么

启动不支持分发的Erlang节点并跟踪其行为。一旦关闭Erlang节点,就会生成一个报告。结果将按相对时间降序排列,因此请查看顶部以了解需要花费的时间

strace -c -f -r erl
将其与启用分发的Erlang节点进行比较:

strace -c -f -r erl -name pigeon
假设你发现“开放”需要时间。您可以将分析限制为该系统调用,并通过尝试获得更详细的输出:

strace -e open -f -r erl

如果您发现任何有趣的事情,请告诉我们。

我刚刚意识到我的
erl
提示符显示
(user@hostname.localdomain)1> 

原来我在安装Archlinux时跳过了这一步

所以我添加了这一行,提示符现在显示
1>
,并立即开始。问题解决了