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 15:55 | Zajímavý software

    WLED je open-source firmware pro ESP8266/ESP32, který umožňuje Wi-Fi ovládání adresovatelných LED pásků se stovkami efektů, synchronizací, audioreaktivním módem a Home-Assistant integrací. Je založen na Arduino frameworku.

    Indiánský lotr | Komentářů: 0
    včera 15:33 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.

    Ladislav Hagara | Komentářů: 3
    včera 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | IT novinky

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 8
    včera 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

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

    Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    7.8. 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 8
    7.8. 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    7.8. 16:44 | Nová verze

    Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    7.8. 12:22 | IT novinky

    Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.

    Ladislav Hagara | Komentářů: 7
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (47%)
     (21%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (18%)
    Celkem 315 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    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: 2647×
    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: 72 | 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.