Portál AbcLinuxu, 1. května 2024 15:35

Zpomalte si procesor

20. 7. 2004 | Pavel Beníšek
Články - Zpomalte si procesor  

K čemu může posloužit podtaktování procesoru a jak toho dosáhnout z uživatelského prostředí.

Většina lidí, tedy hlavně hráčů, se snaží ušetřit na ceně procesoru, grafické karty nebo pamětí. Ztracený výkon se potom snaží dohnat přetaktováním těchto komponent. To, že se mi to nelíbí, zde nechci rozpitvávat. Naopak se zaměřím na opačný problém - podtaktování.

Proč zpomalovat?

Důvod mám jednoduchý. Dosažení maximální životnosti komponent. To se může hodit například na serveru skládaném z vlastních komponent, kde nikdy nemůžete zaručit bezvadný stav (hlavně mechanických částí, jako jsou ventilátory nebo pevné disky), a tak jim můžete alespon ulehčit. Snížení frekvence procesoru nám dá méně vyzářeného tepla, tím nižší teplotu ve skříni a následně s lepším chlazením i menší opotřebení komponent. Samozřejmě to není všespásná metoda, ale pouze jedna z dalších pomůcek.

Pro majitele notebooků je důvodem také spotřeba elektrické energie, která s frekvencí procesoru narůstá, takže lze několik desítek minut přidat výdrži na baterie. Přece jen pro psaní textu nebo úklid na pevném disku není třeba takt 2.5 GHz. Z vlastní zkušenosti mohu potvrdit, že pokud právě nekompiluji updaty systému (emerge systém v Gentoo Linuxu), tak bohatě vystačím s taktem 1,20 GHz, tedy polovičním. Vzhledem k dnešním výkonům procesorů je i při mé normální práci (desktop KDE a spuštěné aplikace Quanta Plus BE, Mozilla Firefox, Kmail, server Apache a LDAP a Pure-ftpd a databáze MySQL a PostgeSQL) výkon plně dostačující. A jak můžete sami posoudit, jedná se o plnohodnotné pracovní prostředí včetně spuštěných serverových aplikací.

Dalším důvodem může být šetření energií u PC postaveného pouze jako router, kde je výkon někdy až přemrštěný. Samozřejmě zůstává otázka, zda obsahuje podporovaný procesor.

Spotřeba

Podařilo se mi najít pouze jedinou informaci o spotřebě energie v závislosti na frekvenci. Protože se mi na stránkách Intelu nepodařilo najít žádné relevantní informace k desktopové verzi procesoru Pentium 4, použil jsem informace o procesoru Pentium 4 M (mobilní verze), kde je frekvence ovládaná automaticky. Proto nebudou uvedená data přesně odpovídat, ale pro představu myslím postačí.

Procesor Pentium 4 M s pracovní frekvencí 2 GHz má tedy spotřebu 32 W. Při zpomalení na 1,2 GHz má odběr už jen 20,8 W. Tím jsme ušetřili třetinu spotřebované energie.

Nyní budu pracovat podle předpokladu, že poměr snížení frekvence ke snížení spotřeby u procesoru Pentium 4 M je podobný jako u ostatních procesorů.

Tedy např. procesor AMD 64 3400+ pracující na frekvenci 2200 MHz má udávanou spotřebu 89 W. Pokud tedy snížíme jeho takt na 1,32 GHz, pak by měla spotřeba klesnout na přibližně 58 W.

Protože však nemám k dispozici křivku závislosti frekvence na odběru (která jistě nebude lineární), další hodnoty lze pouze odhadovat. Pokud ji někdo má, bylo by zajímavé podělit se o ni s ostatními v diskuzi.

Nastavení frekvence procesoru

Většinou se dá nastavit nižší frekvence i v BIOSu, což platí hlavně o procesorech Athlon. To je sice také možné, ale vzdáleně na tom pak už nic nezměníte. Navíc pokles bývá poměrně výrazný. Proto jsem hledal, zda existuje softwarové řešení. A světe div se: existuje a je velmi elegantní.

CPUSpeedy je script psaný v Pythonu. Umožnuje změnu pracovní frekvence procesoru v mezích možností jednotlivých procesorů, takže se nejedná o žádné praktiky ohrožující záruku.

CPUSpeedy pracuje s pomocí ovladače jádra CPUFreq. Takže ten musí být zkompilován. Také z toho vyplývá, že CPUSpeedy podporuje jen ty procesory, které jsou podporovány ovladačem CPUFreq.

Práce se skriptem je jednoduchá. Nabízí měnit frekvenci procesoru buď numerickou hodnotou následovanou mezerou a MHz/GHz, nebo hodnotami min, low, med, high, max.

Pro výpis možných frekvencí použijeme:

#cpuspeedy -f
300000 KHz (300 Mhz)
600000 KHz (600 Mhz)
900000 KHz (900 Mhz)
1200000 KHz (1.20 GHz)
1500000 KHz (1.50 GHz)
1800000 KHz (1.80 GHz)
2100000 KHz (2.10 GHz)
2400000 KHz (2.40 GHz)

Ve výpisu zjistíme podporované hodnoty a jejich jmenné ekvivalenty, nebo dostaneme chybové hlášení, že není možné přistoupit k ovladači CPUFreq.

Další nastavení je opravdu triviální:

#cpuspeedy med
cpuspeedy: CPU speed is now 1.50 GHz (62%)

Nastaví v mém případě 1.50 GHz. Můžeme si zjistit aktuální frekvenci parametrem -s.

# cpuspeedy -s
cpuspeedy: CPU speed is 1.50 GHz (62%)

#cpuspeedy max
cpuspeedy: CPU speed is now 2.40 GHz (100%)

Obnoví maximální frekvenci procesoru (v mém případě 2.4 Ghz).

Závěr

Pro uživatele grafických prostředí existuje gtk nadstavba nazvaná gtk-cpuspeedy. Její použití je ještě jednodušší. Zvolení pracovní frekvence proběhne pouhým zaškrtnutím dané volby. Jak je vidět na obrázku, tak nenabízí všechny možné pracovní frekvence, ale jen pět základních.

GTK CPUspeedy

CPUSpeedy je elegantní forma ovládání rychlosti CPU. Doufám, že si tento "anti-tuning" oblíbíte stejně jako já.

Jak samotné CPUSpeedy tak i grafickou nastavbu vytvořil Gabriele Giorgetti. Domovstou stránku projektu naleznete na stránce: http://cpuspeedy.sourceforge.net

Asi nebudu sám, koho napadlo, že by se dalo řešit automatické zpomalování a zrychlování podle zatížení procesoru. A protože ani vy čtenáři, ani já jsem nebyl první, i na to existují hotová řešení. Ale o těch až příště.

Související články

Přetaktování - Jak zvýšit výkon počítače
Jednočipy pod Linuxem

Odkazy a zdroje

cpuspeedy homepage

Další články z této rubriky

Praktický test komprese ZPAQ v programu lrzip
Porovnávání souborů PDF
Microsoft rozdává zadarmo stovky e-knih
Minimalistické prezentace s Markdown
Kde hledat Creative Commons a alternativy

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.