monit - 如果系统内存太多,我可以重新启动进程吗?

monit - Can I restart a process if system memory is too much?

我有这个系统规则:

check system $HOST
    if memory usage > 90% for 3 cycles then alert

和此流程规则:

check process my_process matching "..."
    restart program = "..."

如果系统内存超过 90%,我希望重新启动进程 my_process

monit 可以吗?

我尝试了 if memory usage > 90% for 3 cycles then restart my_process 的变体,但始终无法识别 monit reload 上的语法。

命令(启动、停止、重新启动...)为服务本身执行正确的命令。 带着敬意, 卢茨

回到你的示例,你可以使用类似这样的东西。

check system $HOST
  if memory usage > 90% for 3 cycles then 
     exec "/bin/bash -c '/usr/local/bin/monit restart my_process'"

重新启动名为“my_process”的服务。 关于,卢茨