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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 11:44 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na podporu herní mini konzole a multimediálního centra RetroEngine Sigma od Doyodo. Předobjednat ji lze již od 49 dolarů. Požadovaná částka 20 000 dolarů byla překonána již 6 krát. Majitelé mini konzole si budou moci zahrát hry pro Atari VCS 2600, Sega Genesis nebo NES. Předinstalováno bude multimediální centrum Kodi.

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

Byla vydána verze 4.7 redakčního systému WordPress. Kódové označením Vaughan bylo vybráno na počest americké jazzové zpěvačky Sarah "Sassy" Vaughan. Z novinek lze zmínit například novou výchozí šablonu Twenty Seventeen, náhledy pdf souborů nebo WordPress REST API.

Ladislav Hagara | Komentářů: 0
včera 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 23
včera 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 2
5.12. 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 6
5.12. 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 50
5.12. 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 10
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 26
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (8%)
 (5%)
 (3%)
Celkem 781 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

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: 607×
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: 66
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: 66
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: 66
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: 71
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.