如何自动重启使用过多 RAM 或 CPU 的应用程序

Jak*_*ake 2 server programming cpu ram automatic

我将运行一个 Ubuntu 14.04 LTS 服务器,上面运行一些 Garry's Mod(基于《半条命 2》/源代码)服务器。我不希望这些服务器中的任何一台因占用过多 RAM 或 CPU 而变得不正常。如果任何服务器使用超过 1 GB 的 RAM 或 100% 的 1 个 CPU 核心,我希望它能够自动重新启动。除此之外,是否有办法每天(例如上午 12 点)自动重新启动这些应用程序?

我对 bash 脚本非常陌生,知之甚少,但如果有人至少能指出我正确的方向,我将不胜感激。

lem*_*eze 5

monit留意这些守护进程:

Monit 是一个用于管理和监控 Unix 系统的小型实用程序。Monit 进行自动维护和修复,并可以在错误情况下执行有意义的因果操作。

例如,apache 使用了太多资源。Monit 可以停止或重新启动 apache 并向您发送警报消息 [...]

配置文件可以轻松地以自然的方式表达您想要的内容。例如,可以执行以下操作:

check process spamd with pidfile /var/run/spamd.pid
   group mail
   start program = "/etc/init.d/spamd start"
   stop  program = "/etc/init.d/spamd stop"
   if 5 restarts within 5 cycles then timeout
   if cpu usage > 99% for 5 cycles then restart
   if mem usage > 99% for 5 cycles then restart
Run Code Online (Sandbox Code Playgroud)

安装:

$ sudo apt-get install monit
Run Code Online (Sandbox Code Playgroud)