Salta ai contenuti

cpupower - Cheatsheet Controllo Frequenza della CPU e Governor

cpupower - Cheatsheet Controllo Frequenza della CPU e Governor

cpupower ispeziona e controlla i sottosistemi CPU frequency scaling (cpufreq) e idle-state (cpuidle) del kernel Linux. Mostra a quale velocità gira ogni core, ti permette di cambiare il governor di scaling (ad es. performance per la massima velocità, powersave per l”efficienza), fissa o limita le frequenze e ispeziona/disabilita gli stati C profondi che aggiungono latenza di riattivazione. È lo strumento standard per estrarre prestazioni prevedibili da una macchina o risparmiare energia su un laptop.

Installazione

PiattaformaComando
Debian/Ubuntusudo apt install linux-cpupower
Fedora/RHELsudo dnf install kernel-tools
Arch Linuxsudo pacman -S cpupower
Verificacpupower --version

Ispezionare lo Stato

ComandoMostra
cpupower frequency-infoGovernor, frequenza corrente/min/max, driver
cpupower -c all frequency-infoInfo per tutti i core
cpupower idle-infoC-state disponibili e utilizzo
cpupower monitorResidenza di frequenza/idle live per core
watch -n1 'cpupower -c all frequency-info -f'Frequenze live
# Uno sguardo veloce al governor e alla velocità attuale
cpupower frequency-info

Governor

GovernorComportamento
performanceEsegui sempre alla massima frequenza
powersavePreferisci la frequenza più bassa (o min di intel_pstate)
ondemandAumenta di scala rapidamente sotto carico
conservativeAumenta di scala gradualmente
schedutilScaling guidato dallo scheduler (predefinito moderno)
userspaceFrequenza impostata manualmente
# Vedi i governor disponibili
cpupower frequency-info -g

# Imposta il governor performance su tutti i core
sudo cpupower frequency-set -g performance

Impostazione Frequenza

ComandoEffetto
sudo cpupower frequency-set -g performanceImposta il governor
sudo cpupower frequency-set -d 2.0GHzImposta la frequenza minima
sudo cpupower frequency-set -u 3.5GHzImposta la frequenza massima
sudo cpupower frequency-set -f 3.0GHzFissa una frequenza (gov userspace)
sudo cpupower -c 0-3 frequency-set -g powersaveGovernor per core

Stati Idle (C-state)

Gli stati C profondi risparmiano potenza ma aggiungono latenza di riattivazione — un problema per i carichi di lavoro sensibili alla latenza.

ComandoEffetto
cpupower idle-infoElenca i C-state e la residenza
sudo cpupower idle-set -d 3Disabilita uno specifico C-state
sudo cpupower idle-set -e 3Abilita uno C-state
sudo cpupower idle-set -D 10Disabilita i C-state con latenza > 10µs
# Critico per la latenza: disabilita gli stati idle profondi per riattivazioni coerenti
sudo cpupower idle-set -D 5

Monitoraggio Sotto Carico

# Guarda come la frequenza e la residenza idle rispondono a un carico di lavoro
cpupower monitor -i 1

Mostra la frequenza per core e il tempo trascorso in ogni C-state — utile per confermare che un cambio di governor ha effettivamente avuto effetto.

Rendere Persistenti i Cambiamenti

cpupower frequency-set non è persistente tra i riavvii. Opzioni:

MetodoCome
servizio systemdsystemctl enable cpupower con /etc/default/cpupower
/etc/default/cpupowerImposta GOVERNOR="performance"
TuneDLascia che tuned gestisca il governor tramite un profilo
rc.local / unitEsegui il comando frequency-set all”avvio

Flussi di Lavoro Comuni

# Box di benchmark: blocca le prestazioni per numeri riproducibili
sudo cpupower frequency-set -g performance
cpupower frequency-info -f -c all      # verifica

# Laptop: risparmia batteria
sudo cpupower frequency-set -g powersave

# Accordatura della latenza: governor performance + idle poco profondo
sudo cpupower frequency-set -g performance
sudo cpupower idle-set -D 5

cpupower vs Strumenti Correlati

StrumentoRuolo
cpupowerControllo della frequenza della CPU/governor + stato idle
tunedProfili a livello di sistema intero (imposta governor + altri)
numactlBinding della CPU/memoria NUMA
tasksetAffinità della CPU per un processo
turbostatTelemetria della frequenza/potenza per core dettagliata

Per un approccio coerente a livello di sistema, lascia che tuned gestisca i governor; usa cpupower per il controllo e l”ispezionamento diretti per core.

Risorse