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í
×
    včera 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 19
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    Kdo vám letos nadělí dárek?
     (34%)
     (2%)
     (10%)
     (2%)
     (1%)
     (2%)
     (15%)
     (19%)
     (14%)
    Celkem 86 hlasů
     Komentářů: 18, poslední 24.12. 15:30
    Rozcestník

    Dotaz: Monitorovanie kratkych procesov

    Tombik avatar 16.5.2012 09:52 Tombik | skóre: 12
    Monitorovanie kratkych procesov
    Přečteno: 236×
    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.