Zadejte hledaný výraz...

Debian squeeze – cmd top

Martin
verified
rating uzivatele
(7 hodnocení)
30. 10. 2012 05:05:25
mam trochu problem s prikazem "top". potreboval sem do php dostat aktualni zatez cpu v % a vyuziti ram. vyresil sem to takto:
top -b -n 1 | grep 'Cpu(s):' > /some/file.cpu
top -b -n 1 | grep 'Mem:' > /some/file.mem
tyto prikazy volam pres exec v php, potom si nactu obsah soubory a vyparsuju hodnoty abych je mohl zobrazit jak je potreba.
to by vsechno fungovalo ale vsiml sem si problemu ze pri spusteni "top" vyskoci hodne zatizeni cpu (%user). na jednom serveru to bylo cca 30%, na druhym cca 10% coz neni zanedbatelny a taky tim ve vyslednych stats mam nepresne hodnoty. dela to i kdyz spustim samotny "top" v cli a pri prvnim update uz je hodnota zase normalni. nevite co to muze zpusobovat, pripadne jak to resit?
30. 10. 2012 05:05:25
https://webtrh.cz/diskuse/debian-squeeze-cmd-top#reply825597
Václav Dušek
verified
rating uzivatele
(77 hodnocení)
30. 10. 2012 08:15:29
Pokud můžeš pouštět shell příkazy z php, tak proč ten příkaz nespouštíš přímo z cronu a neukládáš do DB (pokud to má být řešené jako monitoring).
Ale pak je otázka, proč tam není Munin.
http://stackoverflow.com/questions/6898925/shell-output-to-web
Určitě bych výstupy neukládal do souboru, ale buď do DB a nebo bych s nimi dál přímo pracoval v kódu
Jinak bych asi použil např. http://phpsysinfo.sourceforge.net/ pro sledování stavu serveru
30. 10. 2012 08:15:29
https://webtrh.cz/diskuse/debian-squeeze-cmd-top#reply825596
Martin
verified
rating uzivatele
(7 hodnocení)
30. 10. 2012 14:26:06
munin a phpsysinfo samozrejme znam ale to muj problem neresi. monitoring a generovani nejakych grafu a historie tam neni, proto neukladam do db. jde mi o to ze chci ve scriptu do administrace pridat live vyuziti cpu a ram. takhle mam v jednom souboru pres exec vykonani tech dvou prikazu, vyparsovani hodnot a zobrazeni ve tvaru co potrebuju a pres ajax aktualizuju kazdy 3s. jinak se jedna o vlastni dedikovane servery takze neni problem doinstalovat nebo pouzit v php cokoliv.
---------- Příspěvek doplněn 30.10.2012 v 14:33 ----------
jeste pro doplneni, v tom souboru se to prepisuje, je tam vzdycky jen aktualni hodnota. napadlo me jestli by to nevyresil script co by bezel jako daemon, mel otevreny top a kazdy 3s by ulozil radek s cpu a mem. nedokazu si to ale napsat sam abych to vyzkousel, toto sem jeste nedelal zatim.
30. 10. 2012 14:26:06
https://webtrh.cz/diskuse/debian-squeeze-cmd-top#reply825595
McFly
verified
rating uzivatele
(4 hodnocení)
30. 10. 2012 15:37:47
V Pythonu používám v mrtg pro zjištění vytížení CPU tohle: (nenapsal jsem si to sám, je to z nějakého fóra, já v Pythonu nedělám:)
30. 10. 2012 15:37:47
https://webtrh.cz/diskuse/debian-squeeze-cmd-top#reply825594
Martin
verified
rating uzivatele
(7 hodnocení)
30. 10. 2012 16:12:21
z ps aux to de vytahnout i v php takto:
problem je ze ps aux mi obcas dava hodnoty hodne pres 100% kdyz se sectou vsechny procesy. vygooglil sem ze je to tim ze to pocita podle casu co si proces vzal za dobu sve existence takze to taky neni idealni zpusob. ale co tak zjistuju tak realnou zatez v aktualni sekunde asi nezjistim :-/
30. 10. 2012 16:12:21
https://webtrh.cz/diskuse/debian-squeeze-cmd-top#reply825593
McFly
verified
rating uzivatele
(4 hodnocení)
30. 10. 2012 20:15:42
na netu je toho víc :)
$stat1 = file('/proc/stat');
sleep(1);
$stat2 = file('/proc/stat');
$info1 = explode(" ", preg_replace("!cpu +!", "", $stat1));
$info2 = explode(" ", preg_replace("!cpu +!", "", $stat2));
$dif = array();
$dif = $info2 - $info1;
$dif = $info2 - $info1;
$dif = $info2 - $info1;
$dif = $info2 - $info1;
$total = array_sum($dif);
$cpu = array();
foreach($dif as $x=>$y) $cpu = round($y / $total * 100, 1);
?>
30. 10. 2012 20:15:42
https://webtrh.cz/diskuse/debian-squeeze-cmd-top#reply825592
Pro odpověď se přihlašte.
Přihlásit