调试Erlang心脏超时
|
当无响应的时候,我使用心脏程序重新启动Erlang节点。但是,我发现很难理解为什么节点冻结。 SASL日志没有显示任何错误,而我自己的日志似乎没有显示任何可观的事件。有人可以提供调试此类建议的建议吗?
没有找到相关结果
已邀请:
3 个回复
樊熄忙暖
调用
,从而从无响应的节点创建故障转储。 您可以尝试将
工具与
如果erlang节点无法响应,这也是有趣的信息。 您是否尝试增加`HEART_BEAT_TIMEOUT?也许节点只是陷入了一点泥潭,错过了超时但没有冻结。
樊熄忙暖
如您所见,使用此补丁程序,心脏将首先发出“ 6”字样,以尝试使VM创建故障转储。由于这可能需要一段时间,因此心脏会睡眠4秒钟。如果您没有获得完整的崩溃转储,则可能必须增加此睡眠时间。之后,heart尝试两次发行twice7ѭ,以期获得核心转储,如果失败,则发行
。 请注意,由于需要等待故障转储和核心转储所需的时间,此修补程序将减慢心脏VM的重启速度。如果在生产中使用它,请注意此限制。
死狸蔽垂藐
如果您想停止此跟踪问题
请参阅文档以获取更多信息。 注意:将“模块和功能”更改为要跟踪的内容,请保持x不变。您也可以跳过“功能”,而仅给出“模块” x。 警告:在实时系统上运行此命令可能会很危险,因为要打印到外壳上的信息量可能非常庞大。