abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 12:33 | Zajímavý projekt

Kernel.org představil lore.kernel.org, tj. archiv diskusního listu vývojářů linuxového jádra LKML (Linux Kernel Mailing List) s řadou zajímavých funkcí. Archiv běží na softwaru Public Inbox.

Ladislav Hagara | Komentářů: 0
dnes 10:55 | Nová verze

Po devíti měsících vývoje od vydání verze 10.0 byla vydána verze 11.0 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 0
včera 20:44 | Nová verze

Po více než 3 měsících vývoje od vydání verze 238 oznámil Lennart Poettering vydání verze 239 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 6
včera 15:00 | Nová verze

Bylo oznámeno vydání nové stabilní verze 1.28 a beta verze 1.29 open source textového editoru Atom (Wikipedie). Přehled novinek i s náhledy v příspěvku na blogu. Podrobnosti v poznámkách k vydání. Atom 1.28 je postaven na Electronu 2.0.

Ladislav Hagara | Komentářů: 1
včera 14:00 | Nová verze

Byla vydána nová verze 2.3.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy na PIXLS.US.

Ladislav Hagara | Komentářů: 0
včera 13:00 | Komunita

Akční RPG hra Shadowrun Returns Deluxe, kterou lze hrát i na Linuxu je nyní zdarma na Humble Bundle. Hra vyšla díky kampani na Kickstarteru v roce 2013.

tajny_007 | Komentářů: 0
včera 01:00 | Nová verze

Byla vydána verze 1.27 programovacího jazyka Rust (Wikipedie). Z novinek je nutno zmínit podporu SIMD (Single Instruction Multiple Data). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

Ladislav Hagara | Komentářů: 7
21.6. 16:22 | IT novinky

CEO Intelu Brian Krzanich rezignoval (tisková zpráva). Oficiálním důvodem je "vztah na pracovišti". S okamžitou platností se dočasným CEO stal Robert Swan.

Ladislav Hagara | Komentářů: 39
21.6. 14:11 | Komunita

Konsorcium Linux Foundation ve spolupráci s kariérním portálem Dice.com zveřejnilo 2018 Open Source Jobs Report. Poptávka po odbornících na open source neustále roste.

Ladislav Hagara | Komentářů: 1
21.6. 12:44 | Zajímavý článek

Na stránkách linuxové distribuce Ubuntu Studio byla publikována příručka Ubuntu Studio Audio Handbook věnována vytváření, nahrávaní a úpravě zvuků a hudby nejenom v Ubuntu Studiu. Jedná se o živý dokument editovatelný na jejich wiki.

Ladislav Hagara | Komentářů: 0
Jak čtete delší texty z webových stránek?
 (78%)
 (22%)
 (4%)
 (7%)
 (2%)
 (10%)
Celkem 247 hlasů
 Komentářů: 39, poslední 21.6. 17:44
    Rozcestník

    Dotaz: Monitorovanie kratkych procesov

    Tombik avatar 16.5.2012 09:52 Tombik | skóre: 12
    Monitorovanie kratkych procesov
    Přečteno: 161×
    Potrebujem monitorovat php-cgi procesy, ktore sa spustaju pod jednotlivym uzivatelom vzdy ked niekto nacitava jeho web. Tieto procesy vacsinov rychlo vzniknu vytvoria nejaky kratkodoby CPU load (samozrejme zoberu aj RAM...) a potom zaniknu.

    Potrebujem, aby napriklad kazdych 10 minut mi skript spravil report o tom kolko php-cgi procesov, ktorych uzivatelov bolo behom tychto 10 minut spustane a aky vytvorili CPU load. Da sa nejako spravit, ze vzdy ked vznikne novy php-cgi proces tak to zaroven spusti nejaky moj skript? Alebo ako inac by som mohol postupovat?

    Za kazdy napad budem velmi vdacny. Skusal som hladat rozne monitorovacie nastroje, ale na moj ucel som nic nenasiel. Mam naprogramovane nieco vlastne, ale to len kontroluje aktualny CPU load vzdy ked sa skript spusti z cronu. Jednoducho parsuje data z ps. Toto samozrejme nestaci.

    Dakujem

    Řešení dotazu:


    Odpovědi

    16.5.2012 10:03 jkhkjhkhj
    Rozbalit Rozbalit vše Re: Monitorovanie kratkych procesov
    http://www.gnu.org/software/acct/
    Řešení 1× (Tombik (tazatel))
    16.5.2012 10:41 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: Monitorovanie kratkych procesov
    Na to asi byl nejvhodnejsi SystemTap. Inspirovat se lze napr v prikladech. Pro zacatek napr process/forktracker.stp, process/pstrace_exec.stp. Pak lze nastavit dalsi skript ktery se povesi na vystup SystemTapu a reaguje na udalosti.
    Pri konci procesu pak nejak zjistit kolik zabral casu (neco jako je v /proc/[pid]/stat - to by SystemTap mohl taky umet, ale je to na delsi zkoumani. Highlevel bych to videl takhle - v kprocess.exec_complete si vyfiltrovat a zapamatovat potrebne procesy (vcetene casu startu); v kprocess.exit zjistit zda konci zapamatovany proces, zjistit jeho utime a vypsat ho spolecne s rozdilem od casu kprocess.exec_complete - tim se pak da toho dost zjistit.
    Jelikoz to je povesene na vytvareni / ruseni procesu tak by to snad ani nemuselo brat tolik vykonu.
    Docela zajimave vypada tohle http://people.redhat.com/berrange/systemtap/process-files/process-files.stap
    Tombik avatar 16.5.2012 11:56 Tombik | skóre: 12
    Rozbalit Rozbalit vše Re: Monitorovanie kratkych procesov
    Diky za odpoved idem sa na to pozriet a vyskusat to.
    Řešení 1× (Tombik (tazatel))
    16.5.2012 12:05 chochi | skóre: 29 | Praha
    Rozbalit Rozbalit vše Re: Monitorovanie kratkych procesov
    Coz takhle: process-files.stap:
    global pids
    
    function get_usertime:long() %{
      THIS->__retvalue = current->utime + current->signal->utime;
    %}
    
    function proc:string() {
      return sprintf("%d (%s)", pid(), execname())
    }
    
    probe syscall.fork.return {
      printf("%s fork   : %d\n", proc(), $return)
    }
    
    probe syscall.execve {
      printf("%s execve :%s\n",proc(), kernel_string($filename))
      pids[pid()] = gettimeofday_ms()
    }
    
    
    probe syscall.exit {
      if (pids[pid()] != 0) {
        printf("%s exit  : utime=%d rtime=%d\n", proc(), get_usertime(), gettimeofday_ms() - pids[pid()])
        pids[pid()] = 0
      } else {
        printf("%s exit  : utime=%d rtime=unknown\n", proc(), get_usertime())
      }
    }
    
    Spusteni: stap process-files.stap -g Priklad vystupu:
    14 (kthread) fork   : 7686
    7686 (kstopmachine) exit  : utime=0 rtime=unknown
    14 (kthread) fork   : 7687
    7687 (kstopmachine) exit  : utime=0 rtime=unknown
    14 (kthread) fork   : 7688
    7688 (kstopmachine) exit  : utime=0 rtime=unknown
    7668 (bash) exit  : utime=4919 rtime=unknown
    6426 (bash) fork   : 7689
    7689 (bash) execve :/bin/cat
    7689 (cat) exit  : utime=0 rtime=1912
    6426 (bash) fork   : 7690
    7690 (bash) execve :/bin/bash
    7690 (bash) exit  : utime=3680 rtime=3341
    7680 (stapio) exit  : utime=0 rtime=unknown
    
    Kde utime je klasicky user time a rtime je real-time (celkovy cas behu programu). Neni problem pridelat system-time. Procesy s rtime=unknown byl spusteni pred zacatkem behu skriptu.
    Napr cat bezel 1912ms a spotreboval 0ms, tudiz prumerne vytezoval procesor na 0% po dobu 1912ms; bash bezel 3341ms a spotreboval 3680ms, tudiz prumerne vytezoval procesor na 100% po dobu 3341ms (tady netusim proc rtime < utime, ale tech par ms pujde snad zanedbat)
    Tombik avatar 16.5.2012 13:26 Tombik | skóre: 12
    Rozbalit Rozbalit vše Re: Monitorovanie kratkych procesov
    Diky toto presne vyzera ako to co potrebujem. Idem s tym dalej experimentovat :)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.