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 17:55 | Nová verze

    Ubuntu pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 26.04 LTS (Resolute Raccoon).

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | IT novinky

    Zástupci členských států EU se včera shodli na návrhu, který má bojovat proti šíření materiálů na internetu zobrazujících sexuální zneužívání dětí. Nařízení známé pod zkratkou CSAM a přezdívané chat control mělo množství kritiků a dlouho nebyla pro jeho schválení dostatečná podpora. Pro schválení byla potřeba kvalifikovaná většina a dánské předsednictví v Radě EU se snažilo dosáhnout kompromisu. Návrh nakonec po dlouhých týdnech

    … více »
    Ladislav Hagara | Komentářů: 6
    včera 12:22 | Zajímavý software

    Britské herní studio Facepunch stojící za počítačovými hrami Garry's Mod a Rust uvolnilo svůj herní engine s&box (Wikipedie) jako open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT. Herní engine s&box je postavený nad proprietárním herním enginem Source 2 od společnosti Valve.

    Ladislav Hagara | Komentářů: 1
    včera 04:55 | Komunita

    Vývoj programovacího jazyka Zig byl přesunut z GitHubu na Codeberg. Sponzoring na Every.

    Ladislav Hagara | Komentářů: 1
    včera 04:44 | Komunita

    Stejně jako GNOME i KDE Plasma končí s X11. KDE Plasma 6.8 poběží už pouze nad Waylandem. Aplikace pro X11 budou využívat XWayland.

    Ladislav Hagara | Komentářů: 1
    26.11. 14:55 | IT novinky

    Poslanci Evropského parlamentu dnes vyzvali k výraznému zvýšení ochrany nezletilých na internetu, včetně zákazu vstupu na sociální sítě pro osoby mladší 16 let. Legislativně nezávazná zpráva, kterou dnes odsouhlasil Evropský parlament poměrem 493 hlasů pro ku 92 proti, kromě zavedení věkové hranice 16 let pro využívání sociálních sítí, platforem pro sdílení videí či společníků s umělou inteligencí (AI) vyzývá také k zákazu … více »

    Ladislav Hagara | Komentářů: 44
    26.11. 14:11 | Humor

    Doom v KiCadu nebo na osciloskopu? Žádný problém: KiDoom: Running DOOM on PCB Traces a ScopeDoom: DOOM on an Oscilloscope via Sound Card.

    Ladislav Hagara | Komentářů: 3
    26.11. 12:44 | Nová verze

    Po AlmaLinuxu byl v nové stabilní verzi 10.1 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.11. 04:00 | Zajímavý software

    Open source reimplementace počítačových her Tomb Raider I a Tomb Raider II spolu s dalšími vylepšeními a opravami chyb TRX byla vydána ve verzi 1.0. Jedná se o sloučení projektů / enginů TR1X a TR2X do jednoho TRX. Videoukázka na YouTube.

    Ladislav Hagara | Komentářů: 1
    25.11. 17:00 | IT novinky

    Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.

    Ladislav Hagara | Komentářů: 8
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (22%)
     (15%)
     (23%)
     (16%)
     (18%)
    Celkem 410 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: Jak zjistit aktuální zátěž cpu

    vogo avatar 28.10.2006 12:53 vogo | skóre: 34 | blog: "Skládat papír"
    Jak zjistit aktuální zátěž cpu
    Přečteno: 2673×
    Chtěl bych v jednom skriptu zjišťovat aktuální zátěž CPU, jak na to? Ideální formát by byl v procentech, ale klidně v čemkoli jiném co se dá dále slušně zpracovat. Co spustit aby to na standardní výstup vyplivlo jen tuto informaci?

    díky
    Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.

    Odpovědi

    28.10.2006 13:20 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: Jak zjistit aktuální zátěž cpu
    Co si představuješ pod pojmem "aktuální zátěž CPU"? Hlavně co od té hodnoty očekáváš?
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    vogo avatar 28.10.2006 13:27 vogo | skóre: 34 | blog: "Skládat papír"
    Rozbalit Rozbalit vše Re: Jak zjistit aktuální zátěž cpu
    očekávám hodnotu která vyjadřuje vytížení CPU, kterou třeba zobrazuje gkrellm, nebo cokoli jiného co monitoruje zátěž, prostě hodnotu v procentech (nebo desetinné číslo, or some think like this) vyjadřující využití od posledního měření (?), User Kernel a Nice dohromady, nebo zvlášť - já už si to klidně sečtu :)

    Myslel jsem že to bude někde v /proc (nebo /sys?) ale nic jsem nenašel - asi neumím hledat.
    Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
    Luboš Doležel (Doli) avatar 28.10.2006 14:29 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Jak zjistit aktuální zátěž cpu
    Je to v /proc/stat
    vogo avatar 28.10.2006 14:39 vogo | skóre: 34 | blog: "Skládat papír"
    Rozbalit Rozbalit vše Re: Jak zjistit aktuální zátěž cpu
    to je sice hezké, ale jak to z toho dostat? :)
    Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
    28.10.2006 19:26 hanzz | skóre: 19 | blog: hanzz
    Rozbalit Rozbalit vše Re: Jak zjistit aktuální zátěž cpu
    Po chvilce hledani jsem nasel tohle.. :) http://www.abclinuxu.cz/forum/show/78392#6
    28.10.2006 19:37 hanzz | skóre: 19 | blog: hanzz
    Rozbalit Rozbalit vše Re: Jak zjistit aktuální zátěž cpu
    Nebo to jde vzit primo z topu, ale tam je vysledek trochu zkresleny tim, ze start topu si taky neco vezme...
    top -b -n 1 | awk '/Cpu\(s\)/ {print $2}'
    
    nebo pouzit mpstat...
    28.10.2006 21:34 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak zjistit aktuální zátěž cpu
    Pokud vám jde o procento non-idle stavů, bude možná jednodušší počítat to z /proc/uptime - první číslo je uptime systému v sekundách, druhé čas, po který procesor zahálel.
    28.10.2006 14:12 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: Jak zjistit aktuální zátěž cpu
    zkus programek iostat z balicky sysstat
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    David Watzke avatar 28.10.2006 16:09 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Jak zjistit aktuální zátěž cpu
    Tenhle démon každejch 5 minut zapíše zátěž CPU do souboru /var/log/cpuload. Mám to pro MRTG. Trochu jsem v tom hrabal, snad je to OK...
    #include <stdio.h>
    #include <stdlib.h>
    #include <signal.h>
    #include <unistd.h>
    
    struct Cpustat
    {
            unsigned long u, n, s, i, w, x, y;
    };
    
    void GetStat(Cpustat* pStat)
    {
            FILE* file = fopen("/proc/stat", "r");
            fscanf(file, "cpu %Lu %Lu %Lu %Lu %Lu %Lu %Lu", &pStat->u, &pStat->n,
    		&pStat->s, &pStat->i, &pStat->w, &pStat->x, &pStat->y);
            fclose(file);
    }
    
    void sigterm(int trm) // co delat pri SIGTERMu
    {
            unlink("/var/run/cpuload.pid");
            unlink("/var/log/cpuload");
            exit(0);
    }
    
    int main(void)
    {
            daemon(0,0); // po startu se urve od shellu
            signal(SIGTERM, sigterm);
    
            Cpustat before, now, diff;
            unsigned long total;
            float scale;
            FILE *mrtg, *pid;
    
            pid = fopen("/var/run/cpuload.pid", "w");
            fputs(pid, getpid()); // zapisem si PID
            fclose(pid);
    
            for (;;) {
                    GetStat(&before);
                    sleep(300); // 5 minut = 300
                    GetStat(&now);
    
                    diff.u = now.u - before.u;
                    diff.n = now.n - before.n;
                    diff.s = now.s - before.s;
                    diff.i = now.i - before.i;
                    diff.w = now.w - before.w;
                    diff.x = now.x - before.x;
                    diff.y = now.y - before.y;
    
                    total = diff.u+diff.n+diff.s+diff.i+diff.w+diff.x+diff.y;
                    scale = 100.0f / (float) total;
    
                    mrtg = fopen("/var/log/cpuload", "w");
                    fprintf(mrtg, "%d\n", (int) 100-diff.i*scale);
                    fclose(mrtg);
            }
    }
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    David Watzke avatar 28.10.2006 16:12 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Jak zjistit aktuální zátěž cpu
    Jen taková poznámka: zapíše tam průměr za těch 5 minut. Zátěž CPU se nedá jakoby vypsat hned, musí to být za určitou dobu...
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    David Watzke avatar 28.10.2006 18:57 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Jak zjistit aktuální zátěž cpu
    Sorry, tak tohle zrovna nejde zkompilovat. Nicméně pokud se v tom vyznáš, dá se z toho pochopit, jak se to dá spočítat...
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    vogo avatar 29.10.2006 02:00 vogo | skóre: 34 | blog: "Skládat papír"
    Rozbalit Rozbalit vše Re: Jak zjistit aktuální zátěž cpu
    tak přesně něco takového jsem měl na mysli :) super
    Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
    Dalibor Smolík avatar 28.10.2006 19:01 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
    Rozbalit Rozbalit vše Re: Jak zjistit aktuální zátěž cpu
    příkazem uptime
    Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.
    1.8.2008 16:43 bob@income.cz
    Rozbalit Rozbalit vše Re: Jak zjistit aktuální zátěž cpu
    Používám uptime, beru z něj zátěž každou minutu a ukládám ji do souboru pomocí php skriptu.

    Postup:

    1. Stáhnout php-cli (php pro příkazovou řádku), v debianu 'apt-get install php5-cli'

    2. Uložit níže uvedený skript do nového souboru cpuload, např. pomocí 'cat > /home/bob/cpuload'

    3. 'chmod +x /home/bob/cpuload'

    4. 'crontab -e', měl výsledně by vypadat takto:
    # m h  dom mon dow   command
    * * * * * /home/bob/cpuload
    No a pak už jen koukat jak přibývají řádky, třeba 'tail -fn50 /home/bob/zatez.txt'

    *********************************************
    #!/usr/bin/php
    <\?
    
    function dtu()
    {
      $temp=explode(' ', microtime());
      return date('d.m.Y G:i:s.', $temp[1]).substr($temp[0],2,6)." ";
    }
    
    function radek($n=1)
    {
      while ($n--) echo "\n";
    }
    
    
    //********************************************************************************************************//
    //********************************************************************************************************//
    //*************************** MAIN ***********************************************************************//
    //********************************************************************************************************//
    //********************************************************************************************************//
    
    radek();
    echo "prg='", $argv[0], "'\n";
    echo "dir='", getcwd(), "'\n";
    echo "arg='", $argv[1], "'\n";
    for ($i=2; $i<10; $i++) if (strlen($argv[$i])) echo "arg".$i."='", $argv[$i], "'\n"; else break;
    radek();
    
    $out=dtu();
    $eregstr_load='load average: 0.([0-9]{2})';
    $aa=exec("uptime");
    if (!ereg($eregstr_load, $aa, $pom)) $out.="Nevidim zatez, nekde je chybka :))\n";
    else $out.=sprintf("%2d%%\n", $pom[1]);
    echo $out;
    file_put_contents("/home/bob/zatezcpu.txt", $out, FILE_APPEND);
    
    \?>
    Fakt nevim jak sem dostat otazník bez \?, takže musíte ty backslashe na těch dvou místech vymazat. Jinak je to ok. Nemám rád html :))

    Enjoy!

    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.