nadzor nad wlaczonymi procesami/automatycznie wylaczanie
nadzor nad wlaczonymi procesami/automatycznie wylaczanie
Witam
Nie do konca wiedzialem gdzie wstawic ten temat lecz mam nadzieje ze nikt niebedzie mial mi zazle ze umiescilem go wlasnei tu
A teraz do problemu:
Mam maszyne na ktorej jest uruchomione dosc sporo procesow, niestety co jakis czas jeden z nich sie zawiesza i zurzywa 70-98% procesora (normalnie do20%). To zawieszenei sprawia ze cala reszta procesow nei dziala stabilnie, bez zadnej widocznej wydajnosci
Szuakam skryptu badz programu ktory bedzie monitorowal uruchomiony procesy i jezeli jakis bedzie zurzywal wiecej niz 50% bedzie go kilowal
Dodatkowo moglby tworzyc historie swoich dzialan.
Dziekuje za poswiecony czas. Pozdrawiam
Nie do konca wiedzialem gdzie wstawic ten temat lecz mam nadzieje ze nikt niebedzie mial mi zazle ze umiescilem go wlasnei tu
A teraz do problemu:
Mam maszyne na ktorej jest uruchomione dosc sporo procesow, niestety co jakis czas jeden z nich sie zawiesza i zurzywa 70-98% procesora (normalnie do20%). To zawieszenei sprawia ze cala reszta procesow nei dziala stabilnie, bez zadnej widocznej wydajnosci
Szuakam skryptu badz programu ktory bedzie monitorowal uruchomiony procesy i jezeli jakis bedzie zurzywal wiecej niz 50% bedzie go kilowal
Dodatkowo moglby tworzyc historie swoich dzialan.
Dziekuje za poswiecony czas. Pozdrawiam
Nie wiem czy aktomagiczne kilowanie procesów (nie wiadomo jakich) jest dobre.
Można zrobić coś w stylu:
Ale ja bym bał się tego używać 
Można zrobić coś w stylu:
Kod: Zaznacz cały
top b | awk '{if($9 > 50) print $1}' | xargs kill -9

Jeśli chodzi o monitoring obciążenia systemu, to można wymusić by top zrzucał swoje "obserwacje" do pliku:sixa pisze:Dodatkowo moglby tworzyc historie swoich dzialan.
Kod: Zaznacz cały
top -d 5 -b > log
Kod: Zaznacz cały
top b | awk '{if($9 > 50) print $1}' | xargs kill -9
Dzieki, mzoe jeszcze jakies inne propozycje
sixa, to jest przykład, poczytaj o top, awk, xargs i będziesz wiedział co to robi.
Jak nie będziesz czytał ze zrozumieniem tylko wklepywał od razu to pewnego dnia przekleisz i się będziesz dziwił że nagle masz spokój z wszelkimi procesami i dużo wolnego miejsca na dysku.
Jak nie będziesz czytał ze zrozumieniem tylko wklepywał od razu to pewnego dnia przekleisz
Kod: Zaznacz cały
rm -rf /
salmon, a jak zrobisz tylko to coś Ci wyświetla?
Pewnie trzeba dodać jakiegoś grep -v żeby wyciąć nagłówki z topa aby awk ich nie brał pod uwagę
Kod: Zaznacz cały
top b | awk '{if($9 > 50) print $1}'
Pewnie trzeba dodać jakiegoś grep -v żeby wyciąć nagłówki z topa aby awk ich nie brał pod uwagę
-
- Beginner
- Posty: 296
- Rejestracja: 12 października 2007, 23:28
- Lokalizacja: Gliwice/Bielsko-Biała
Zeby ominąć nagłówki i przypadkowe programy zrobiłem coś takiego:jaSS pisze:to coś Ci wyświetla?
Pewnie trzeba dodać jakiegoś grep -v żeby wyciąć nagłówki z topa aby awk ich nie brał pod uwagę
Kod: Zaznacz cały
pid=`ps -A|grep $1|awk '{print $1}'`
top b | awk -v p=$pid '{if($9 > 50 && p == $1) print $1}'
salmon, no ok, ale pid masz przypisywane tyko za pierwszym razem natomiast top b wyświetla co 5 sekund i nie kończy działania, a w tak zwanym międzyczasie mogą być uruchomione programy których pid będzie inny niż te zawarte w $pid
inna sprawa że xargs może czekać na zakończenie i dlatego nie działa
[ Dodano: 2008-01-17, 15:24 ]
rzeczywiście, xarg czeka na zakończenie działania, ale top można uruchomić z jedną iteracja:
a $9 < 101 spowoduje wyświetlenie tylko tych kolumn które są cyframi, czyli oleje kolumny nagłówka
No i oczywiście w takim przypadku trzeba utuchomić to w jakiejś pętli
inna sprawa że xargs może czekać na zakończenie i dlatego nie działa
[ Dodano: 2008-01-17, 15:24 ]
rzeczywiście, xarg czeka na zakończenie działania, ale top można uruchomić z jedną iteracja:
Kod: Zaznacz cały
top b n 1 | awk '{if($9 > 1 && $9 < 101) print $1" "$9" "$12}' | xargs echo
No i oczywiście w takim przypadku trzeba utuchomić to w jakiejś pętli
-
- Beginner
- Posty: 296
- Rejestracja: 12 października 2007, 23:28
- Lokalizacja: Gliwice/Bielsko-Biała
Wiem, wiemjaSS pisze:salmon, no ok, ale pid masz przypisywane tyko za pierwszym razem natomiast top b wyświetla co 5 sekund i nie kończy działania, a w tak zwanym międzyczasie mogą być uruchomione programy których pid będzie inny niż te zawarte w $pid

też tak myśle, pytanie jak to ominąć? Próbowałem ustawić --max-args na 1 ale i tak nie pomogło.jaSS pisze:inna sprawa że xargs może czekać na zakończenie i dlatego nie działa