Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.2. Come usare i regolatori CPUfreq

Uno dei modi più efficaci per ridurre il consumo energetico e gli output termici sul sistema è quello di utilizzare CPUfreq. CPUfreq — conosciuto come CPU speed scaling — permette di regolare la velocità di clock del processore durante la sua esecuzione. Tale funzione permette l'esecuzione del sistema ad una velocità ridotta risparmiando così energia. Le regole relative, per una velocità maggiore o minore, e le circostanze nelle quali modificare le frequenze sono definite dal regolatore CPUfreq.
Il regolatore definisce le caratteristiche di alimentazione della CPU del sistema, il quale a sua volta interessa le prestazioni della CPU. Ogni regolatore ha un suo comportamento, scopo, e idoneità in termini di carico di lavoro. Questa sezione descrive come selezionare e configurare un regolatore CPUfreq, le sue caratteristiche ed il tipo di carico.

3.2.1. Tipi di regolatori CPUfreq

Questa sezione elenca e descrive i diversi tipi di regolatori CPUfreq disponibili in Red Hat Enterprise Linux 6.
cpufreq_performance

Il regolatore Performance forza la CPU ad utilizzare la frequenza più elevata possibile dell'orologio. Questa frequenza verrà impostata staticamente e non sarà modificata. Per questo motivo questo regolatore non offre alcun beneficio relativo al risparmio energetico. Tale impostazione è idonea solo per carichi di lavoro molto elevati, ed anche in tal caso, solo quando la CPU è raramente (o mai) in uno stato inattivo (idle).

cpufreq_powersave

Al contrario il regolatore Powersave forza la CPU ad usare la frequenza più bassa possibile del clock. Questa frequenza verrà impostata staticamente e non verrà modificata. Per questo motivo questo regolatore offre un risparmio energetico massimo ma con la più bassa prestazione della CPU.

Il termine "powersave" può talvolta ingannare, poichè (in principio) una CPU lenta con carico massimo consuma più energia di una CPU veloce senza carico. Per questo motivo, anche se è consigliato impostare la CPU in modo da usare il regolatore Powersave durante periodi di attività minima, qualsiasi carico elevato inaspettato durante questo periodo potrà causare un consumo energetico più elevato.
Il regolatore Powersave è in termini semplici un "limitatore di velocità" per la CPU e non un "risparmiatore di energia". È utile in sistemi ed ambienti dove il surriscaldamento potrebbe rappresentare un problema.
cpufreq_ondemand

Il regolatore Ondemand è un regolatore dinamico che permette alla CPU di ottenere una frequenza massima quando il carico del sistema è elevato, ed una frequenza minima quando il sistema è inattivo (idle). Mentre tale regolatore permette al sistema di modificare il consumo energetico in base al carico, questo stato viene raggiunto a scapito della latenza tra i cambi di frequenza. Per questo motivo la latenza è in grado di controbilanciare qualsiasi beneficio relativo al risparmio energetico/prestazioni offerto dal regolatore Ondemand se il sistema si smista spesso tra carichi di lavoro elevati e inattivi.

Per numerosi sistemi il regolatore Ondemand è in grado di fornire il miglior compromesso tra emissione termica, consumo energetico, prestazioni e maneggevolezza. Quando il sistema è occupato solo in periodi specifici della giornata, il regolatore Ondemand si smisterà automaticamente tra frequenza massima e minima in base al carico senza alcun intervento.
cpufreq_userspace

Il regolatore Userspace permette ai programmi spazio utente (o qualsiasi processo in esecuzione come root) di impostare la frequenza. Questo regolatore viene normalmente usato insieme con il demone cpuspeed. Tra tutti i regolatori, Userspace è quello più personalizzabile; ed in base alla sua configurazione, è in grado di fornire il miglior rapporto prestazione e consumo per il sistema.

cpufreq_conservative

Come il regolatore Ondemand, il regolatore Conservative modifica la frequenza clock in base all'uso. Tuttavia il regolatore Ondemand esegue tale processo in modo più aggressivo (e cioè dal valore massimo al valore minimo e viceversa), mentre il regolatore Conservative esegue lo smistamento tra frequenze in modo più graduale.

Ciò significa che il regolatore Conservative sceglierà una frequenza più idonea al carico senza selezionarne una massima o minima. Anche se tale comportamento può fornire un risparmio significativo di energia, al tempo stesso potrà causare una maggiore latenza rispetto al regolatore Ondemand.

Nota

È possibile abilitare un regolatore usando cron. Ciò permetterà all'utente di impostare automaticamente regolatori specifici durante determinati periodi del giorno. Per questo motivo sarà possibile specificare un regolatore a bassa-frequenza durante i periodi di inattività (per esempio dopo l'orario lavorativo), e selezionare un regolatore con una frequenza più elevata durante i periodi di carico intenso.
Per informazioni su come abilitare un regolatore specifico consultare Procedura 3.2, «Come abilitare un regolatore CPUfreq» in Sezione 3.2.2, «Impostazione di CPUfreq».