Obci

Konfiguracja serwerów, usług, itp.
powo
Posty: 4
Rejestracja: 12 lipca 2011, 09:12

Obciążenie procesora - automatyczne zabijanie procesu

Post 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ć?
kogoro
Posty: 33
Rejestracja: 24 kwietnia 2014, 17:19

Post 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ł?
powo
Posty: 4
Rejestracja: 12 lipca 2011, 09:12

Post 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?
Awatar użytkownika
f1.micro
Beginner
Posty: 119
Rejestracja: 24 lutego 2009, 11:32
Lokalizacja: Kraków

Post 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]
powo
Posty: 4
Rejestracja: 12 lipca 2011, 09:12

Post 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
ODPOWIEDZ