Portál AbcLinuxu, 2. května 2025 05:43
Častokrát slyšívám, že Celeron-M umí nebo neumí SpeedStep. Rád bych to uvedl na pravou míru a také poskytl návod na zprovoznění CPU "frequency scalingu".
Tak předně: současné procesory Intel Celeron-M neumí technologii SpeedStep(TM). Nicméně jsou postaveny na technologii Intel Pentium 4 a tyto procesory mají podporu pro změnu frekvence hodin (clock modulation). A toho se dá využít!
Stačí tedy zavést potřebné moduly cpufreq-*, freq_table a hlavně p4_clockmod. V případě Ubuntu Dapper Drake stačí dopsat do /etc/modules řádek s "p4-clockmod" (ostatní moduly jsou již natažené). To je ze strany jádra vše.
Nyní je třeba ještě userspace program (démon), který bude ovládat změny frekvence. To je rozdíl například od technologie SpeedStep(TM), kde je všechno transparentní a nepotřebujete žádné takové programy. Zkoušel jsem dva démony: powernowd (default v Ubuntu) a cpufreqd.
Budu se věnovat prvnímu jmenovanému. Je dosti jednoduchý - umí prostě jen měnit frekvenci na základě zátěže. Druhý jmenovaný (cpufreqd) zvládá o mnoho více věcí - zejména konfiguraci profilů (například když je spuštěn mplayer - tj sledujete film - nastaví maximální frekvenci a podobně). Bohužel mně s p4-clockmodem nefungoval (diskuze).
Stačí tedy démon powernowd spustit. Nelekejte se, ačkoli démon slouží ke změně frekvence pro procesory od AMD, funguje spolehlivě i s Intely (vizte manuálovou stránku). Pak můžete dynamickou změnu frekvence hodin aktivovat příkazem sudo cpufreq-selector -g ondemand (a deaktivovat, tedy nastavit maximální frekvenci, příkazem sudo cpufreq-selector -g performance).
Tyto příkazy je vhodné umístit jako .sh skripty do adresářů /etc/acpi/ac.d a /etc/acpi/battery.d, pokud je vaše distribuce má. Například Ubuntu pak při připojení či vypojení zdroje všechny .sh soubory z těchto adresářů spustí. Na co to bude dobré asi nemusím vysvětlovat.
Bohužel clock modulation není ani zdaleka tak efektivní jako SpeedStep(TM). Mé zkušenosti jsou takové, že výdrž prodlouží o několik minut (diskuse). Dalších pár minut můžete získat trothlingem (vkládání instrukce NOP), nejlepší je ale vyndat CD-ROM, vypnout WiFi/Bluetooth a všechny služby včetně cronu/syslogu, snížit maximálně jas LCD...
Názory, zkušenosti, doplnění?
Tiskni
Sdílej:
speedstep u Celeronu M chybi a modul tedy i pres jeho zavedeni nepracuje (repsktive nenajde nic, co by se dalo u tohoto procesoru pouzit). U Pentia M (plnohodnotneho) by meli pracovat oba moduly, s tim ze speedstep bude o mnoho efektivnejsi.
p4-clockmod totiz nedokaze u Celeronu zmenit napeti, speedstep u P-M ano)
Moje kapka do mlýna:
$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 13 model name : Intel(R) Celeron(R) M processor 1.50GHz stepping : 8 cpu MHz : 1500.000 cache size : 1024 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx bogomips : 3000.78
Doplnění (na baterku jedu většinou na 375MHz nebo 563MHz):
$ cpufreq-info cpufrequtils 0.4: cpufreq-info (C) Dominik Brodowski 2004 Report errors and bugs to linux@brodo.de, please. analyzing CPU 0: driver: p4-clockmod CPUs which need to switch frequency at the same time: 0 hardware limits: 188 MHz - 1.50 GHz available frequency steps: 188 MHz, 375 MHz, 563 MHz, 750 MHz, 938 MHz, 1.13 GHz, 1.31 GHz, 1.50 GHz available cpufreq governors: conservative, ondemand, powersave, userspace, performance current policy: frequency should be within 990 MHz and 1.50 GHz. The governor "performance" may decide which speed to use within this range. current CPU frequency is 1.50 GHz.
cpu family : 6
model : 14
model name : Intel(R) Celeron(R) M CPU 430 @ 1.73GHz
tak by me zajimalo jak to je u Tebe
Co do procesoru tam mám:
CONFIG_X86_PC=y CONFIG_MPENTIUM4=y CONFIG_X86_CMPXCHG=y CONFIG_X86_XADD=y CONFIG_X86_L1_CACHE_SHIFT=7 CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INVLPG=y CONFIG_X86_BSWAP=y CONFIG_X86_POPAD_OK=y CONFIG_X86_CMPXCHG64=y CONFIG_X86_GOOD_APIC=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_X86_TSC=y CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_PREEMPT_VOLUNTARY=y CONFIG_X86_UP_APIC=y CONFIG_X86_UP_IOAPIC=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_MCE=y CONFIG_X86_MCE_NONFATAL=y CONFIG_X86_MCE_P4THERMAL=y
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.