在Erlang系统中监视和预防系统限制Mnesia的崩溃

时间:2010-02-14 20:25:19

标签: erlang monitoring system administration mnesia

我们有许多云服务器,我正在构建一个新服务器以测试资源的提供。

在我认为我应该采取致命的崩溃方式之前,因为某种系统资源已经耗尽。

=INFO REPORT==== 14-Feb-2010::12:40:14 ===
Setting up: "http://sub48.localhost:9000" as pirate
Mnesia('ares@example.com'): Data may be missing, 
Corrupt logfile deleted: "(...)/sub48.localhost&9000&styles.DCL", {file_error,
"(...)/sub48.localhost&9000&styles.DCL", system_limit} 


=ERROR REPORT==== 14-Feb-2010::12:40:18 ===
Mnesia('ares@example.com'): ** ERROR ** (could not write core file: system_limit)
 ** FATAL ** Cannot open log file "(...)/sub48.localhost&9000&styles.DCL": 
{file_error, "(...)/sub48.localhost&9000&styles.DCL", system_limit}

操作系统是Ubunut 8.04(LTS),但我们的其他操作系统是Ubuntu 9.04和Ubuntu 9.10 - 我认为我们必须将它们标准化:(

所以我的问题是:

  • 如何确定哪些资源用完了?
  • 我可以采取哪些主动监控措施来确保不再发生这种情况?
  • 一般来说,我可以使用Erlang VM耗尽哪些系统资源,以及我应该采取哪些监控措施?

1 个答案:

答案 0 :(得分:1)

有一个名为os_mon的erlang模块让你可以监控各种资源,比如cpu load。另请查看sasl OTP应用程序,尤其是overload和alarm_handler。

相关问题