Lee*_*res 5 c erlang erlang-shell erlang-ports
我目前正在运行一个通过Nifs运行C代码的Erlang应用程序.但是,如果在C代码中发生分段故障,整个节点将关闭,以及运行Erlang应用程序的Erlang虚拟机.
如果虚拟机死机,监控Erlang应用程序并重新启动它的最佳方法是什么?
Pee*_*ger 3
你想看看Heart。
此外,如果您有被认为危险的 NIF 调用,建议将它们与靠近它们的 Erlang 代码一起隔离在单独的节点上。有多种方法可以监视和重新启动节点(例如Slave)。
不过,一般来说,我建议不要使用有问题的 NIF,具体取决于您使用它们的用途,有更稳定的替代方案。
NIF 原因 -> 更换
顺序速度 -> 更好优化的 Erlang 代码。通常,NIF 的高顺序速度是以干扰 Erlangs 调度程序为代价的,这通常会导致实际性能更差。
与外部库/应用程序交互 -> Erlangs 端口在故障隔离方面要好得多
归档时间:
12 年,2 月 前
查看次数:
493 次
最近记录:
12 年,1 月 前