в продолжение темы на примере nginx: #!/bin/bash triggerValue=15 tempFileName=tmp-la uptime | sed -e ‘s/.* load average: \(.*\), \(.*\), \(.*\)/\1 \2 \3/’ | grep -v grep > /tmp/$tempFileName export LINE ( read LINE while [ -n "$LINE" ] do set $LINE read LINE if [ $(echo "$1" | sed -e 's/\.[0-9]*//g’) -gt $triggerValue ]; then /etc/init.d/nginx [...]
рестарт сервиса после достижения определенного LA
http://www.unixguru.biz/%d1%80%d0%b5%d1%81%d1%82%d0%b0%d1%80%d1%82-%d1%81%d0%b5%d1%80%d0%b2%d0%b8%d1%81%d0%b0-%d0%bf%d0%be%d1%81%d0%bb%d0%b5-%d0%b4%d0%be%d1%81%d1%82%d0%b8%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f-%d0%be%d0%bf%d1%80/
скрипт «убивает» процессы, которые превымили определенное значение CPU
В моем случаи пригодилось для Exim, поэтому привожу пример для него, аналогично для любого другого процесса. Запускать по крону. #!/bin/bash processToWatch=»exim4″ # имя процесса triggerValue=20 # лимит CPU в % tempFileName=tmp-cpu # some name of the temp file for the ps, grep data ps auxww | grep «$processToWatch» | grep -v grep > /tmp/$tempFileName export [...]
http://www.unixguru.biz/%d1%81%d0%ba%d1%80%d0%b8%d0%bf%d1%82-%d1%83%d0%b1%d0%b8%d0%b2%d0%b0%d0%b5%d1%82-%d0%bf%d1%80%d0%be%d1%86%d0%b5%d1%81%d1%81%d1%8b-%d0%ba%d0%be%d1%82%d0%be%d1%80%d1%8b%d0%b5-%d0%bf%d1%80%d0%b5/
The MRTG 2.16.1 Linux/Unix Installation Guide
оригинал статьи http://oss.oetiker.ch/mrtg/doc/mrtg-unix-guide.en.html
http://www.unixguru.biz/the-mrtg-2161-linuxunix-installation-guide/