Per il momento, non ho una risposta chiara per questo, tuttavia è ovvio che il kernel Linux sta usando alcuni meccanismi di risparmio energetico .
Tuttavia, facendo alcune ricerche rapide, mi sono reso conto rapidamente che i kernel Linux più recenti utilizzano una funzione chiamata ACPI che è l'acronimo di Advanced Configuration and Power Interface .
Cosa sta facendo l'ACPI:
la specifica Advanced Configuration and Power Interface (ACPI) fornisce uno standard aperto per la configurazione del dispositivo e la gestione dell'alimentazione da parte del sistema operativo.
tramite Wikipedia .
Fondamentalmente l'ACPI consente il controllo di diversi stati della CPU, per consentire una migliore gestione dell'alimentazione.
Diversi stati della CPU ACPI:
Stati C della CPU (risparmio energetico)
Fondamentalmente, probabilmente non c'è nulla di cui preoccuparsi riguardo agli "stati C" della CPU. Questi sono automaticamente controllati dal sistema kernel + ACPI prendendo in considerazione il carico di sistema corrente. (CAVEAT: controlla la nota sui processori AMD Athlon e Duron di seguito). Il codice ACPI nei kernel più recenti (2.6+) mette automaticamente in pausa la CPU quando c'è il tempo di inattività (nota: questo non cambia la frequenza della CPU. Che è controllato da "stati P" - vedi sotto).
L'unica cosa da capire è che il tuo sistema è completamente "cosciente" quando la CPU viene momentaneamente arrestata - non noterai molta differenza. Tuttavia, il risparmio energetico può essere considerevole. Basti pensare che la tua CPU prende migliaia di "micro-pisolini" ogni volta che è inattiva.
Stati CPU-T (limitazione)
Questi sono molto simili agli "stati C" (viene utilizzata la stessa istruzione HLT), tuttavia la differenza è che il throttling è "forzato da te" (come ogni 4 ° ciclo è costretto ad essere un ciclo del sonno, al contrario degli "stati C" "sopra i quali sono automaticamente determinati dal carico del sistema). Si noti che la frequenza NON è stata modificata ... vedere gli "stati P" di seguito.
Stati CPU-P (prestazioni)
Oggigiorno molti processori (in particolare i laptop) possono avere la frequenza di clock effettivamente rallentata "al volo". Ciò si traduce in enormi risparmi energetici. Intel chiama questo "SpeedStep" e AMD lo chiama "Cool'n'Quiet" o "PowerNow". Più genericamente questi stati sono chiamati "stati P". Dovrai quasi sicuramente accedere al BIOS e abilitare questa funzionalità per la tua CPU PRIMA!
** Alcuni parametri di consumo: **
Quali sono i risparmi energetici dagli stati CPU sopra indicati? I seguenti dati vengono estratti dal sito Web AMD. Prendi in considerazione un AMD 64 3400 + / 2200MHz con 1 MB di cache L2. A proposito, mentre sono qui, vorrei lamentarmi della convenzione di denominazione AMD. Il numero 3400+ non significa jack squat. Questo è solo il modo di AMD di dire che questo processore "sembra" un Intel Pentium-4 funzionante a 3400MHz. Immagino che questo sia il loro modo di non perdere market share. Ecco i valori di consumo energetico dello stato P e T (lo stato C è la stessa istruzione HLT dello stato T):
- Stato prestazioni 0 (completamente attivo) (2200 MHz): 89 watt
- Performance State 1 (2000MHz): 70 Watt
- Performance State 2 (800MHz): 35 Watt
- Accelerato (istruzione HLT): 2,2 watt
Alcuni riferimenti per ulteriori letture
EDITS
[EDIT # 1]: Cercando su Google, ho trovato anche altri post in alcuni forum (il forum OpenSuse sembra essere rilevante per quello che cerchi) e ho scoperto che questo non è un grosso problema per Linux come lo è per Windows e soprattutto nei giochi. Ho anche raccolto alcune informazioni in due mail (la prima e la seconda [follow-up] ) nelle mailing list di RedHat che sembrano essere correlate. Attualmente sto cercando le informazioni in esso.
[EDIT # 2]: ho studiato un po 'il problema e sto diventando sempre più certo che non esiste un meccanismo di parcheggio principale in Linux, a meno che non esista un ACPI di cui non sono a conoscenza. Alcuni risultati interessanti sono alcuni software che consentono la manipolazione diretta della cpu e dei processi eseguiti su di essa, come cpuset , numactl e, ultimo ma non meno importante, CPUfreq . Continuerà con la mia ricerca.