Impostare governor su tutte le cpu con cpufreq-set

consoleCon cpufreq-set è possibile impostare il governor di una singola cpu alla volta:
cpufreq-set -c 0 -g conservative

Non c'è un'opzione per impostare lo stesso governor su tutte le cpu.
Ho pensato quindi di creare un semplice comando che il solo scopo di impostare lo stesso governore per tutte le cpu presenti sul nostro computer, indipendentemente dal loro numero.

#!/bin/bash

# Sintax:
# cpufreq-setall.sh <governor>

governor=$1
cores=$(grep -c processor /proc/cpuinfo)
core=0

while [ $core -lt $cores ]; do
        cpufreq-set -c $core -g $governor
        core=$(($core + 1))
done

Da utente root, salva questo codice in un file di nome cpufreq-setall.sh nella cartella /usr/bin.
Dagli i permessi di esecuzione (chmod u+x /usr/bin/cpufreq-setall.sh) ed il gioco è fatto.

In qualsiasi momento, in qualsiasi directory ti trovi, puoi impostare il governore che preferisci (come utente root).

Se ti dà fastidio dover diventare root per impostare il governor, puoi impostare il permesso di SUID all'eseguibile cpufreq-set (non allo script!).

chmod 755 /usr/bin/cpufreq-setall.sh
chmod u+s /usr/bin/cpufreq-set

In questo modo, qualsiasi utente può cambiare la frequenza di tutti i core.
Se volete porre delle limitazioni, create un gruppo, assegnatelo all'eseguinbile cpufreq-set e impostate i permessi 750.

Commenti

settaggio automatico al boot

come faccio a settarlo in automatico al boot?

Vorrei che al boot ci sia il governor ondemand, com faccio?

Opzioni visualizzazione commenti

Seleziona il tuo modo preferito per visualizzare i commenti e premi "Salva impostazioni" per attivare i cambiamenti.