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:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.

    Ladislav Hagara | Komentářů: 3
    včera 13:33 | IT novinky

    O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).

    Ladislav Hagara | Komentářů: 2
    včera 04:22 | Nová verze

    Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.

    Ladislav Hagara | Komentářů: 0
    19.5. 21:00 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    19.5. 19:00 | Nová verze

    Canonical vydal Ubuntu Core 26. Vychází z Ubuntu 26.04 LTS a podporováno bude 15 let. Ubuntu Core je minimální neměnný operační systém určený pro vestavěné systémy.

    Ladislav Hagara | Komentářů: 0
    19.5. 16:22 | Nová verze

    Bylo vydáno OpenBSD 7.9. Po dlouhé době opět se songem: Diamond in the Rough.

    Ladislav Hagara | Komentářů: 0
    19.5. 16:00 | Nová verze

    Byl vydán Mozilla Firefox 151.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 151 bude brzy k dispozici také na Flathubu a Snapcraftu.

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

    Elon Musk prohrál soudní spor se společností OpenAI, která se podle jeho žaloby odchýlila od původně uváděného cíle vyvíjet umělou inteligenci (AI) ku prospěchu lidstva. Porota včera po necelých dvou hodinách dospěla k jednomyslnému závěru, že Musk žalobu podal příliš pozdě. Musk byl jedním ze spoluzakladatelů společnosti OpenAI, která vznikla v roce 2015 a vyvinula populární chatovací systém ChatGPT. V roce 2018 na svůj post ve vedení

    … více »
    Ladislav Hagara | Komentářů: 0
    19.5. 10:22 | Nová verze

    Byla vydána nová verze 10.4 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Opraveny jsou zranitelnosti Copy Fail a Dirty Frag. Přibyl nový obraz pro Orange Pi 5B.

    Ladislav Hagara | Komentářů: 0
    19.5. 07:44 | Zajímavý software

    Pokud je zranitelnost Linuxu v nepoužívaném jaderném modulu, lze ji jednoduše vyřešit zakázáním automatického načítání tohoto konkrétního zranitelného modulu. Projekt ModuleJail si klade za cíl zvýšit bezpečnost Linuxu zakázáním automatického načítání všech nepoužívaných jaderných modulů. Jedná se o skript, který dá všechny nepoužívané jaderné moduly na blacklist (/etc/modprobe.d/modulejail-blacklist.conf).

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (26%)
    Celkem 1672 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: ondemand, sampling_rate, rychlost změny frekvence

    10.5.2007 00:43 Jan Martinek | skóre: 43 | blog: johny | Brno
    ondemand, sampling_rate, rychlost změny frekvence
    Přečteno: 683×
    Zdravím, svým dotazem navazuji na tuto diskusi o frekvenci procesoru
    http://www.abclinuxu.cz/forum/show/179537
    která je ale v této chvíli už překošatělá.
    Zcela jistě má smysl regulovat frekvenci procesoru i na desktopu - za rok provozu jsou náklady na elektřinu srovnatelné s pořizovací cenou procesoru ( a to mluvím pouze o penězích).
    Druhou stránkou věci je to, že se frekvence procesoru musí zvýšit dostatečně rychle při zvýšené zátěži, jinak se počítač jeví líný. Jestliže mám zapnutý ondemand governor:
    echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    
    a jestliže nastavím, aby se frekvence zvýšila už při 20% zátěži
    echo 20 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold
    
    a jestliže nechám samplovat zátěž co nejčastěji
    echo $(cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_min) > \
    /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
    
    tak to stejně není dostatečné, protože nejnižší hodnota pro samplovací periodu je 620000 mikrosekund, tedy něco přes půl sekundy. A to už je bohužel poznat. Mohu názorně demonstrovat:
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import time
    
    fncur = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq'
    fnmin = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq'
    fnmax = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq'
    
    class CPUgov:
        def __init__(self):
            self.minfreq = self.readintfromfile(fnmin)
            self.maxfreq = self.readintfromfile(fnmax)
    
        def readintfromfile(self, fn):
            return int(file(fn).read())
    
        def getfreq(self):
            return self.readintfromfile(fncur)
    
        def waitforfall(self):
            stamp = time.time()
            while self.getfreq() != self.minfreq:
                time.sleep(0.01)
            return time.time() - stamp
    
        def waitforrise(self):
            stamp = time.time()
            while self.getfreq() != self.maxfreq:
                pass
            return time.time() - stamp
    
    cpu = CPUgov()
    while True:
        print 'rise:', cpu.waitforrise()
        print 'fall:', cpu.waitforfall()
    
    Frekvence se skutečně zvýší až po cca 0.6 sekundách, což je pro interaktivní práci (např. přepínání mezi okny, renderování html) příliš dlouho. Takže se chci zeptat, jak snížit hodnotu v
    /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_min
    Díky

    Odpovědi

    10.5.2007 08:39 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Zjistil jsem další věc. Na jiném počítači (notebook, Mobile AMD Athlon(tm) XP 2800+) je hodnota v
    /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_min
    pouze 100000, tedy desetina sekundy. A skutečně se to velmi projeví v ochotě zvyšovat frekvenci. Ale přece to nemůže záviset na hardwaru. Nebo ano?
    Josef Kufner avatar 10.5.2007 09:20 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Zkusil bych:
    echo "požadovaná hodnota" > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_min
    Přičemž ona požadovaná hodnota bude ze .../scaling_available_frequencies.
    Hello world ! Segmentation fault (core dumped)
    10.5.2007 09:52 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    No, mě šlo o něco trochu jiného. Frekvence procesoru se přepíná mezi správnými hodnotami (to měnit nemusím), ale governor reaguje příliš pozdě na změnu zátěže.
    Reakční doba se sice dá nastavit v souboru
    /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
    ale nejnižší nastavitelná hodnota je sampling_rate_min. A ta je dle mého názoru příliš vysoká.
    Josef Kufner avatar 10.5.2007 20:43 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    No vždyť.
    Hello world ! Segmentation fault (core dumped)
    10.5.2007 21:14 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    No, zapomněl jsem podotknout hlavní kámen úrazu - že sampling_rate_min je read-only soubor.
    Josef Kufner avatar 10.5.2007 21:56 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Aha, tak to by mohl být trošku problém. Toho jsem si nějak nevšiml ;-)
    Hello world ! Segmentation fault (core dumped)
    10.5.2007 21:44 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Aha, tady si toho taky někdo všiml (a snad to popsal líp než já). http://groups.google.com/group/linux.debian.bugs.dist/browse_thread/thread/6b4c5005900a9f08/acc0776dd0b9c08c?lnk=raot
    nekompilujete zrovna někdo nové jádro, že byste zkusili něco změnit v cpufreq_ondemand.c? Myslím, že tahle věc musí vadit všem, co používají jaderný ondemand governor.
    10.5.2007 23:21 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Jaká je minimální frekvence, kterou si ten procesor umí nastavit? Zkusil jsem ten tvůj skript a frekvence se mi přepne až po 1.2s, přesto žádné výrazné zpomalení nepozoruju, všechny programy reagují svižně. (AMD Athlon X2, minimální frekvence je 1GHz)
    Quando omni flunkus moritati
    11.5.2007 08:51 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Až za 1.2 sekundy? Tak to je ještě horší než u mě (mám 0.62). Jasně, je to hnidopišství, 1GHz je pořád ještě dost slušná mašina. Ale když něco dělám v inkscapu, gimpu, prohlížeči apod. tak se frekvence mnohdy přepne s křížkem po funuse a přijde mi to jako škoda.
    11.5.2007 00:06 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    A nebylo by lepší, kdyby to jelo na max po celou dobu, co počítač používáš, a teprve když odejdeš, tak aby nastoupilo řízení frekvence? Se spuštěním screensaveru zapnout řízení, s vypnutím vypnout, třeba.
    11.5.2007 09:03 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    To by bylo spíš obcházení problému. Navíc se zdá, že náprava nebude složitá. V jádře je tohle:
    static unsigned int def_sampling_rate;
    #define MIN_SAMPLING_RATE_RATIO                 (2)
    /* for correct statistics, we need at least 10 ticks between each measure */
    #define MIN_STAT_SAMPLING_RATE                  \
                            (MIN_SAMPLING_RATE_RATIO * jiffies_to_usecs(10))
    #define MIN_SAMPLING_RATE                       \
                            (def_sampling_rate / MIN_SAMPLING_RATE_RATIO)
    #define MAX_SAMPLING_RATE                       (500 * def_sampling_rate)
    #define DEF_SAMPLING_RATE_LATENCY_MULTIPLIER    (1000)
    #define TRANSITION_LATENCY_LIMIT                (10 * 1000)
    Zkusím si s tím trochu pohrát. Mám (na druhém počítači) vyzkoušeno, že když ondemand zareaguje za 0.1 sekundy, tak je to už úplně v pohodě a nepoznám žádnou prodlevu.
    11.5.2007 10:20 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Tak mě se zdá, že při tvých podmínkách by mohlo docházet ke změně frekvence docela často. Třeba při každém načtení webové stránky, zobrazení další stránky v pdf dokumentu atd. Nevím, jestli vysoká frekvence zmeny frekvence cpu nevadí... A docela by mě zajímalo, kolik času při tomhle nastavení pojede procesor stejně na max. A vyšší frekvence vzorkování to taky určitě trošinku ovlivní :-)
    11.5.2007 11:09 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ondemand, sampling_rate, rychlost změny frekvence
    Chci ji měnit (nejvýše) desetkrát za sekundu, což mi vůbec nepřijde často. Vzhledem k tomu, že P-state transition latency bývá 10 až 100 mikrosekund, tak jsem naprosto klidný. Viz
    http://softwarecommunity.intel.com/isn/Community/en-US/forums/30234265/ShowThread.aspx
    Jestli vyšší frekvence vzorkování bude mít na něco vliv, to pochybuju. Schválně zkus číst 10x za sekundu soubor /proc/stat. Pro systém je to zcela neměřitelná zátěž.
    A kolik procent času stráví procesor na své max. frekvenci? Taky by mě to zajímalo. Jdu měřit:
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    import time
    
    fncur = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq'
    fnmin = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq'
    fnmax = '/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq'
    
    class CPUgov:
        def __init__(self):
            self.minfreq = self.readintfromfile(fnmin)
            self.maxfreq = self.readintfromfile(fnmax)
            self.samples_high = 0
            self.samples_low = 0
    
        def readintfromfile(self, fn):
            return int(file(fn).read())
    
        def getfreq(self):
            return self.readintfromfile(fncur)
    
        def measure(self):
            freq = self.getfreq()
            if freq == self.minfreq:
                self.samples_low += 1
            else:
                self.samples_high += 1
    
    cpu = CPUgov()
    while True:
        cpu.measure()
        N100 = (cpu.samples_high + cpu.samples_low) * 0.01
        print 'high: %5.2f%%  low:%5.2f%%' %(cpu.samples_high / N100,
                                             cpu.samples_low / N100)
        time.sleep(1)
    
    Zkuste tohle nechat běžet hodinu, dvě, tři ... den, dva, tři ...

    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.