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

    Uživatelé mobilních telefonů s Linuxem si nyní mohou nainstalovat aplikaci Mobilní Datovka. Díky tomu je přístup k datovým schránkám dostupný i na zařízeních s mobilními linuxovými distribucemi, jako jsou například Mobian, NixOS Mobile, pmOS atd. Aplikace je dostupná na Flathubu.

    David Heidelberg | Komentářů: 0
    dnes 13:33 | Komunita

    Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.

    |🇵🇸 | Komentářů: 0
    dnes 13:22 | Nová verze

    Byla vydána nová verze 5.6.0 programu na úpravu digitálních fotografií darktable (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.

    Ladislav Hagara | Komentářů: 0
    včera 19:11 | Nová verze

    Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Komunita

    Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.

    Ladislav Hagara | Komentářů: 1
    včera 17:22 | Nová verze

    Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.

    Ladislav Hagara | Komentářů: 3
    včera 12:00 | Nová verze

    Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).

    |🇵🇸 | Komentářů: 0
    19.6. 10:22 | Humor

    Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].

    Ladislav Hagara | Komentářů: 0
    19.6. 09:55 | Nová verze

    Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1956 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 2707×
    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.