Strona 1 z 1

Obciążenie procesora - automatyczne zabijanie procesu

: 23 września 2014, 13:40
autor: powo
Witam,
mam uruchomiony program, który co jakiś czas powoduje wzrost obciążenia procesora do 100% i obecnie pomaga zabicie go (ręcznie) Proces znów się uruchamia i działa normalnie... do czasu.
Czy jest możliwość automatyzacji tego zadania w konsoli? Tzn. Monitorowanie, a gdy procesor wskakuje na 100% to po np. minucie zabija skrypt i tak w kółko?
Jestem amatorem, jednak może mnie ktoś naprowadzić jak się do tego zabrać?

: 23 września 2014, 14:20
autor: kogoro
A nie lepiej poszukać, co to jest za proces? Następnie spróbować się z nim zaprzyjaźnić, to może procesora nie będzie dręczył?

: 23 września 2014, 14:27
autor: powo
Niestety nie da się zaprzyjaźnić. To aplikacja czatu w java (płatna) i co jakiś czas jej "odbija", lub raczej jednemu z wielu procesów "java" i wtedy zawieszają się media (video i fonia) i jak pisałem, pomaga zabicie tego procesu. Po chwili wraca wszystko do normy. Czy zabbix będzie tu pomocny, wyczytałem że ma możliwość wykonywania skryptów, do jakiś akcji?

: 23 września 2014, 14:52
autor: f1.micro
Dwie opcje:

Pierwsza, bardziej eleagncka: Uruchamiać proces z wysokim nice

Kod: Zaznacz cały

 nice -n 19[color=#000000][font=monospace] NAZWA_PROCESU [/font][/color]
druga, bardzo nie elegancka:

[code]

nazwaprocesu=NAZWA

while true; do
if [ `ps -eo pid,%cpu,cmd | grep $nazwaprocesu | head -1 | awk '{print $2}' | cut -d '.' -f1 ` -ge 90 ]; then
kill -9 `pgrep $nazwaprocesu`
fi
sleep 60
done
[/code]

: 23 września 2014, 16:34
autor: powo
:) ta nie elegancka jakoś do mnie przemawia, poczytałem o nice i raczej mnie to nie urządza, bo prawdopodobnie ten jeden proces "głupieje" i powoduje problemy w innych, więc lepiej go zabić.
Dzięki f1.micro - zobaczę czy da radę ten skrypt.
Pozdrawiam