Monitorování zatížení počítače - skript

Ilhvm

Monitorování zatížení počítače - skript
« kdy: 06. 11. 2012, 12:44:30 »
Zdravím,

existuje nějaký samostatný příkaz na zjištění využití procesoru a paměti? Mám za úkol vytvořit skript, který bude sledovat průměrné zatížení prostředků a v případě překročení hodnot se objeví upozornění. Vím, že existuje příkaz top, ale vůbec mě nenapadá, jak by se s tím dal realizovat takovýto skript.

Děkuji za každou pomoc  :)


Re:Monitorování zatížení počítače - skript
« Odpověď #1 kdy: 06. 11. 2012, 12:52:47 »
Skript může třeba spustit příkaz top a monitorovat hodnoty u všech procesů, sčítat je a v případě, že součet překročí hranici, ukáže se upozornění.

Rhinox

Re:Monitorování zatížení počítače - skript
« Odpověď #2 kdy: 06. 11. 2012, 12:57:09 »
OT: ja jen ze neco podobneho docela dobre dela "monit". Krom mnozstvi jinich veci (treba dostupnost sluzeb) dovede monitorovat cpu, pamet, disk, i/o, atd. a po prekroceni limitu poslat upozorneni, nebo vykonat jinou akci...

tadeas

Re:Monitorování zatížení počítače - skript
« Odpověď #3 kdy: 06. 11. 2012, 13:06:17 »
Pokud chceš vyloženě vlastní řešení, tak je asi nejjednodušší to číst z /proc.

Tedy např. /proc/loadavg, /proc/meminfo, /proc/diskstats atd.

Ilhvm

Re:Monitorování zatížení počítače - skript
« Odpověď #4 kdy: 06. 11. 2012, 13:07:43 »
craftext: Dobře, znamená to teda, že můžu přistupovat k jednotlivým sloupečkům? Jakože myslím tím, že když se mi vypíše příkazem top využití, tak můžu samostatně pracovat například se sloupečkem %CPU? A udělat tedy cyklus, který mi spočítá sumu hodnot v něm obsažených?

Rhinox: Děkuju, jen nevím co bude pro mě jednoduší na zpracování :))


Re:Monitorování zatížení počítače - skript
« Odpověď #5 kdy: 06. 11. 2012, 13:14:40 »
top ti hodí znaky(sloupečky), a ty můžeš najít určitou pozici v nich a podle toho určit součet zátěže všech procesů

Re:Monitorování zatížení počítače - skript
« Odpověď #6 kdy: 06. 11. 2012, 13:20:40 »
Od osmého řádku výstupu začínají procesy. Od určitých znaků na každém řádku začíná údaj o vytížení procesoru(v procentech). Konkrétní znak se dá poznat podle toho, že je to 9. mezerou oddělené slovo nebo číslo na řádku. Jeho konec se dá poznat podle mezery.

Ilhvm

Re:Monitorování zatížení počítače - skript
« Odpověď #7 kdy: 06. 11. 2012, 13:49:37 »
tadeas: Dobře, já vyzkouším všechno a vyberu co mi bude nejlépe vyhovovat, mimochodem, někde se píše, že /proc/loadavg není přímo vytížení procesoru ...

Rhodix: No, na internetu jsem našla příkaz - top -b -n 1 | awk '/Cpu\(s\)/ {print $2}' - no a vypisuje mi to, řekla bych, že využití procesoru celkově, je to možné?

Re:Monitorování zatížení počítače - skript
« Odpověď #8 kdy: 06. 11. 2012, 14:57:27 »
Myslím, že to možné je. Příkaz dělá pravděpodobně to co jsem popisoval v minulých příspěvcích.

Ilhvm

Re:Monitorování zatížení počítače - skript
« Odpověď #9 kdy: 06. 11. 2012, 15:30:52 »
Výborně, tak jo děkuju :)

Re:Monitorování zatížení počítače - skript
« Odpověď #10 kdy: 06. 11. 2012, 15:37:23 »
Já teda nevím....pokaždé mi to háže jen 13,9.... :(

Re:Monitorování zatížení počítače - skript
« Odpověď #11 kdy: 06. 11. 2012, 15:41:45 »
Teď už 13,8......funguje to!  :D

Jméno:

Re:Monitorování zatížení počítače - skript
« Odpověď #12 kdy: 06. 11. 2012, 20:48:32 »
tadeas: Dobře, já vyzkouším všechno a vyberu co mi bude nejlépe vyhovovat, mimochodem, někde se píše, že /proc/loadavg není přímo vytížení procesoru ...

To je pravda, neni. :)

Teď už 13,8......funguje to!  :D

Urcite? Me i kdyz zatizim procesor tak top pri -n1 ukaze nejake male cisla, ale -n2 uz je v pohode, tzn. neco takoveho me funguje uplne v pohode:

top -b -n2 | grep %Cpu | tail -n1 | awk '{print $2+$4+$6+$10+$12+$14+$16"%"}'

Re:Monitorování zatížení počítače - skript
« Odpověď #13 kdy: 07. 11. 2012, 07:23:49 »
tadeas: Dobře, já vyzkouším všechno a vyberu co mi bude nejlépe vyhovovat, mimochodem, někde se píše, že /proc/loadavg není přímo vytížení procesoru ...

To je pravda, neni. :)

Teď už 13,8......funguje to!  :D

Urcite? Me i kdyz zatizim procesor tak top pri -n1 ukaze nejake male cisla, ale -n2 uz je v pohode, tzn. neco takoveho me funguje uplne v pohode:

top -b -n2 | grep %Cpu | tail -n1 | awk '{print $2+$4+$6+$10+$12+$14+$16"%"}'

Máš pravdu, toto funguje dobře. Normálně mám 8% a po spuštění VM ve VirtualBoxu stoupá na 60%.

Mareg

Re:Monitorování zatížení počítače - skript
« Odpověď #14 kdy: 07. 11. 2012, 09:36:48 »
Myslím, že atop umí logovat a pak z těch logů udělat i nějaké statistiky.