For two years our Monit daemon was configured to restart any queue worker process that exceeded 500MB of RAM. The restart hid a memory leak that slowly grew for six months.
# Monit configuration: alert first, restart only on persistent runaway
check process worker_1 with pidfile /var/run/worker_1.pid
if totalmem > 450 MB for 3 cycles then alert
if totalmem > 650 MB for 5 cycles then restart
Immediate restarts turn visible application bugs into silent operational noise. Requiring multiple cycles before an automated restart gives monitoring systems time to capture heap snapshots for diagnosis.