abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 21:44 | Komunita

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

    Ladislav Hagara | Komentářů: 1
    dnes 20:22 | Nová verze

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

    Ladislav Hagara | Komentářů: 0
    dnes 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

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

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 7
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 882 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Optimalizace spotřeby – analytické nástroje

    13. 4. 2011 | Vratislav Podzimek | Hardware | 5464×

    Chceme-li snížit spotřebu el. energie našeho systému, máme několik možností. Můžeme použít nástroje pro dynamické přizpůsobování výkonnosti systému a tím i energetických nároků. Jedním za takových nástrojů je například Tuned, který jsme si představili v předchozím článku. Druhou možností je pak analýza našeho systému a jednotlivých procesů z pohledu faktorů významných pro spotřebu el. energie.

    Můžeme tak zjistit, které procesy způsobují nejvíce probuzení procesoru, přenášejí nejvíce dat přes síťová rozhraní či pracují nejvíce s disky. I pro tento účel přináší moderní GNU/Linuxové systémy různé nástroje a právě na jejich možnosti se zaměříme v tomto článku.

    Obsah

    PowerTOP

    link

    Nástroj PowerTOP vyvinutý firmou Intel (v roce 2007 uvolněn pod licencí GPLv2) slouží k analýze systému z hlediska počtu probuzení procesoru jednotlivými procesy (příp. službami jádra). S jeho pomocí tak můžeme odhalit největší "žrouty" v běžícím systému. Od verze 2.6.21 je jádro Linux tzv. tickless, což znamená, že se časová přerušení nastavují v závislosti na aktuálně běžících procesech a ne například 1000krát za sekundu, jako tomu bylo dříve. Pokud tedy v systému běžícím na moderním linuxovém kernelu není žádný proces, jenž by potřeboval v nejbližších 2s procesor, CPU může zůstat po celou dobu 2s ve stavu idle. (Pro více informací vizte kerneltrap.org.)

    Co ale u moderních procesorů znamená idle stav? Specifikace ACPI rozlišuje tzv. C-stavy a P-stavy. C-stavy (obvykle C0-C3 nebo C4) určují, je-li procesor v pracovním režimu (C0), nebo v režimu idle (C1, C2, ...), přičemž jednotlivé idle stavy se liší ve spotřebě elektrické energie a latenci při přechodu do pracovního režimu. Některé procesory mají implementovaný i stav C6 (deep sleep), ve kterém je dosaženo značné úspory energie. Někdy bývá tento stav BIOSem namapován na stav C3. P-stavy zase určují frekvenci a napětí procesoru. U obou stupnic platí pravidlo "vyšší stav odpovídá nižší spotřebě a větší latenci při přechodu do nejvýkonnějšího režimu". Tedy, máme-li správně nakonfigurovaný a vyladěný systém, měli bychom na nepoužívaném PC dosáhnout alespoň 90 % v nejvyšším C-stavu i P-stavu.

    Po spuštění PowerTOP sbírá informace ze systému a po chvíli (ve výchozím nastavení 5 s) přehledně zobrazí výsledky, které jsou průběžně obnovovány. Navíc se v dolní části výpisu postupně objevují návrhy na snížení spotřeby pomocí známých úprav - např. aktivace USB autosuspend, přepnutí politik řízení latence CPU na ondemand, deaktivace nepoužívaného Bluetooth apod. K příslušnému návrhu se také zobrazí písmeno, jímž je možno okamžitě změnu uplatnit, ovšem pouze do následujícího rebootu. Pokud bychom chtěli tyto úpravy zapnout trvale stačí PowerTOPem zobrazený odpovídající příkaz přidat jako nový řádek do souboru /etc/rc.local. Běží-li systém z baterie, zahrnuje výpis i odhad aktuální spotřeby (informace získané z ACPI).

    Instalaci (v distribuci Fedora) provedeme příkazem

    yum install powertop

    Použití je pak velmi snadné, postačí nám jako root zadat příkaz

    powertop

    Užitečným přepínačem může být -d (dump – zjistí jednou informace o probuzeních procesoru a vypíše na výstup tipy na snížení spotřeby el. energie), který nám umožní z výstupu vykopírovat příkazy odpovídající zobrazeným tipům do /etc/rc.local. Společně s touto volbou je ještě možné použít přepínač -t DOUBLE (Kde DOUBLE značí hodnotu typu double, tedy číslo s pohyblivou desetinnou čárkou, v sekundách.), jehož pomocí můžeme určit čas, po který bude PowerTOP sbírat informace ze systému před zobrazením výsledků. V současné době je k dispozici i betaverze PowerTOP 2.0, která přináší mnoho novinek. Pro další informace vizte oficiální stránky projektu.

    Scomes

    link

    Dalším velmi užitečným nástrojem je scomes. Jedná se o SystemTap (vizte web) skript, který nám umožní o běhu programu získat informace mající vliv na spotřebu el. energie. V současné době jsou to konkrétně tyto statistiky:

    • Počet volání jádra (syscalls)
    • Počet taktů v jádře a v uživatelském prostoru (kticks a uticks)
    • Čtené a zapsané byty (reads, writes)
    • Množství dat přijatých a odeslaných přes síťová rozhraní (ifrecv a ifxmit)
    • Pollingová volání jádra (polling syscalls)
    • Celkové skóre počítané dle vzorce
      SCORE = kticks + 2*uticks + 10*(reads+writes) + ifxmit + ifrecv

    Můžeme tak například při vývoji programu porovnávat různé alternativy z hlediska energetických nároků.

    Skutečnost, že je scomes implementován jako SystemTap skript, znamená, že pro jeho správnou funkčnost je třeba mít v systému nainstalován program SystemTap, a tedy i debuginfa jádra. Abychom mohli scomes používat např. na systému Fedora, je nutné provést následující příkazy:

    debuginfo-install kernel # Případně kernel-PAE,
                             # je-li používáno jádro s podporou PAE)
    
    yum install tuned-utils # scomes je součástí balíku tuned-utils
    

    I když samotný scomes zabírá na disku pár desítek KB, debuginfa jádra nás připraví asi o 1,5 GB. Pro  funkčnost tohoto nástroje jsou však nezbytná. Po úspěšné instalaci je použití scomes velmi jednoduché.

    scomes -c "program arg1 arg2..." čas

    nám bude periodicky (perioda dána hodnotou parametru čas) zobrazovat sumy jednotlivých statistik z dosavadního běhu programu.

    Diskdevstat a Netdevstat

    link

    Diskdevstat a Netdevstat jsou dva SystemTap skripty, které nám umožní získat informace o procesech právě běžících na systému z hlediska jejich diskových aktivit resp. síťových přenosů. Podobně jako scomes i tyto dva skripty jsou součástí balíku tuned-utils.

    Použití si ukážeme na příkladu diskdevstat, pro netdevstat se liší pouze názvem volaného skriptu:

    diskdevstat perioda délkaBěhu ukázatHistogram

    Skript poté bude po dobu danou parametrem délkaBěhu periodicky zobrazovat informace o diskových aktivitách jednotlivých procesů běžících v systému. V případě hodnoty 1 na místě parametru ukázatHistogram bude na konci běhu skriptu zobrazen histogram.

    Tímto způsobem tedy můžeme identifikovat procesy nejvíce pracující s diskem a následně např. pomocí programu strace zjistit, jaká konkrétní systémová volání v těchto procesech způsobují užití disku.

    Battery Life Tool Kit (BLTK)

    link

    V poslední části se společně podívejme na nástroj Battery Life Tool Kit (BLTK). Ten původně vznikl za účelem analýzy výdrže a výkonnosti baterie notebooku, ale je použitelný i pro jiné účely a to i na desktopu (vizte přepínač -a dále).

    BLTK simuluje různé typy zátěže odpovídající různým typickým činnostem běžného uživatele a po každém běhu uloží výsledky, ze kterých můžeme následně vytvořit snadno čitelnou zprávu obsahující mnoho údajů. Od výrobce a typu notebooku a baterie, přes statistiky setrvání v jednotlivých ACPI stavech, až po odhad aktuální spotřeby el. energie. Můžeme tak například testovat míru vyladění našeho systému pomocí dalších nástrojů. V současné době jsou k dispozici tyto typy simulovaných zátěží:

    • Idle - probíhá pouze sběr dat; přepínač -I
    • Developer - simulace práce vývojáře; přepínač -D
    • Reader - simulace prohlížení dokumentu (implicitně v prohlížeči Firefox); přepínač -R
    • Player - simulace přehrávání multimediálního obsahu z CD/DVD mechaniky (implicitně pomocí mplayeru); přepínač -P
    • Office - simulace editace dokumentů pomocí sady OpenOffice.org; přepínač -O
    • 3D game - simulace hraní 3D hry (implicitně demo Unreal Tournament); přepínač -G

    Instalaci v distribuci Fedora provedeme pomocí

    yum install bltk

    Poté nám již nic nebrání v používání, ovšem pouze na notebooku. Chceme-li BLTK používat na desktopovém PC, musíme bltk spouštět s přepínačem -a, což způsobí ignorování stavu připojení napájení. Dalšími užitečnými přepínači jsou:

    • -T početSekund – čas, po který dávka poběží
    • -F názevSouboru – soubor užitý pro dávku (např. pro player)
    • -W aplikace – aplikace, kterou dávka využije (např. jiný prohlížeč pro Reader)

    Výsledky analýzy se po průběhu simulace zátěže uloží do adresáře specifikovaného v konfiguračním souboru /etc/bltk.conf, defaultně  bltk.typ_simulace.cislo (u první simulace není uvedeno číslo). Tyto výsledky nejsou však příliš přehledné a dobře čitelné. Právě za tímto účelem vznikl nástroj bltk_report, který voláním ve tvaru

    bltk_report cestaKadresariSvysledky

    vytvoří velmi přehlednou zprávu, již jako soubor s názvem Report uloží k výsledkům. Volbou -o si můžeme výsledek přesměrovat na standardní výstup. Pro zobrazení grafu odpovídajícímu výsledkům poslouží příkaz bltk_plot, kterému opět jako parametr předáme cestu k adresáři s výsledky.

    Dobrým rozcestníkem pro získání dalších informací jsou stránky Fedora Power Management Special Interest Group.

           

    Hodnocení: 80 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    13.4.2011 12:01 jan.xxx
    Rozbalit Rozbalit vše Re: Optimalizace spotřeby – analytické nástroje
    No, tak mi to ten powertop hezky rozvrtal a restart jaksi nepomohl :-( Kdykoliv teď v KDE chci změnit velikost konzole, tak si systém totálně shodím. Ale proč?
    15.4.2011 00:00 v.podzimek | skóre: 17
    Rozbalit Rozbalit vše Re: Optimalizace spotřeby – analytické nástroje
    No, tak mi to ten powertop hezky rozvrtal a restart jaksi nepomohl :-( Kdykoliv teď v KDE chci změnit velikost konzole, tak si systém totálně shodím. Ale proč?
    Tak s tím jsem se ještě nesetkal. Jak rozvrtal? A jen pouhé spuštění PowerTop? Chtělo by to další informace a poté nejlépe nahlásit bug.
    16.4.2011 19:13 LaLa
    Rozbalit Rozbalit vše Re: Optimalizace spotřeby – analytické nástroje
    To s powertopem nesouvisi. Je to znama chyba v KDE 4.6. Tusim, ze nejak souvisi s proprietarnim ovladacem nVidia.
    jiri.one avatar 16.4.2011 19:53 jiri.one | skóre: 19 | blog: Jiriho blog
    Rozbalit Rozbalit vše Re: Optimalizace spotřeby – analytické nástroje
    mam KDE 4.6 i proprietarni ovladac nVidia a nikdy se mic takoveho nestalo. Vlastne KDE 4.6 mi nespadlo jeste ani jednou.
    www.jiri.one - Můj blog o Linuxu, hrách, životě, ...
    16.4.2011 20:01 LaLa
    Rozbalit Rozbalit vše Re: Optimalizace spotřeby – analytické nástroje
    no, to je teda argument :-/
    https://bugs.archlinux.org/task/23381
    stativ avatar 16.4.2011 21:59 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: Optimalizace spotřeby – analytické nástroje
    Je to znama chyba v KDE 4.6
    Zajímavé, že ve značné části komentářů u bugu, který odkazuješ níže se mluví i o jiných prostředích než je kde. Podle všeho je to chyba ovladačů.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    16.4.2011 23:44 LaLa
    Rozbalit Rozbalit vše Re: Optimalizace spotřeby – analytické nástroje
    Je to tak. Chyba bude nejspis v X serveru a kompositor v kwinu (?) ji jenom spousti. Kazdopadne se to v predchozich verzich KDE nestavalo.
    17.4.2011 07:25 qweerty | skóre: 1
    Rozbalit Rozbalit vše Šetření disku
    Když jsme u šetření energie, může mi někdo povědět jestli je už něak ošetřeno parkování disku na notebooku v Kubunutu/Debianu jako součást systému, řízení napájení. Já k tomu používám hdparm spouštěný v jednotlivých stupních nastavení systému.

    Založit nové vláknoNahoru

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