Ho cambiato il mio governatore della CPU CentOS 6 da ondemand (quello predefinito) a conservativo e l'ho ottenuto dopo aver riavviato il servizio cpufreq:
/etc/rc5.d/S13cpuspeed:line 88:
/sys/devices/system/cpu/cpufreq/conservative/ignore_nice_load:Il file o la directory
non esistono
Quindi cosa dovrei fare? Devo creare il file e se sì, cosa devo metterci?
Risposta accettata:
Per kernel 3.x
L'interfaccia per CPUFreq è cambiata nei kernel più recenti. Ciò includerebbe CentOS 6. Puoi leggere l'intera interfaccia qui nella documentazione di Red Hat Enterprise Linux (RHEL) intitolata:Capitolo 3. Core Infrastructure and Mechanics.
In particolare la sezione sulla configurazione di CPUFreq. Ecco i passaggi necessari per configurarlo.
Driver CPUReq
$ ls -1 /lib/modules/`uname -r`/kernel/arch/x86/kernel/cpu/cpufreq/
acpi-cpufreq.ko
mperf.ko
p4-clockmod.ko
pcc-cpufreq.ko
powernow-k8.ko
speedstep-lib.ko
carica il driver appropriato
$ modprobe acpi-cpufreq
installa lo strumento cpupower
$ yum install cpupowerutils
visualizza i governatori
$ cpupower frequency-info --governors
analyzing CPU 0:
ondemand userspace performance
Quindi al momento abbiamo solo questi 3 regolatori caricati:ondemand , spazio utente e rendimento .
caricamento dei governatori mancanti
Puoi ottenere un elenco di tutti i governatori disponibili in questo modo.
$ ls -1 /lib/modules/`uname -r`/kernel/drivers/cpufreq/
cpufreq_conservative.ko
cpufreq_ondemand.ko
cpufreq_powersave.ko
cpufreq_stats.ko
freq_table.ko
$ modprobe cpufreq_powersave
conferma i moduli finora:
$ lsmod |grep cpuf
cpufreq_powersave 1196 0
cpufreq_ondemand 10544 8
acpi_cpufreq 7763 0
freq_table 4936 2 cpufreq_ondemand,acpi_cpufreq
mperf 1557 1 acpi_cpufreq
conferma quali governatori sono caricati
$ cpupower frequency-info --governors
analyzing CPU 0:
powersave ondemand userspace performance
visualizzazione della norma attuale
$ cpupower frequency-info
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0 1 2 3 4 5 6 7
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 1.60 GHz - 3.20 GHz
available frequency steps: 3.20 GHz, 3.20 GHz, 3.07 GHz, 2.93 GHz, 2.80 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz
available cpufreq governors: powersave, ondemand, userspace, performance
current policy: frequency should be within 1.60 GHz and 3.20 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1.60 GHz (asserted by call to hardware).
boost state support:
Supported: yes
Active: yes
2500 MHz max turbo 4 active cores
2500 MHz max turbo 3 active cores
2500 MHz max turbo 2 active cores
2600 MHz max turbo 1 active cores
Nell'output sopra puoi vedere che la mia politica attuale è ondemand . Per ottimizzare la politica e la velocità, utilizza questo comando per farlo:
$ cpupower frequency-set --governor performance
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
conferma il nuovo governatore
$ cpupower frequency-info
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0 1 2 3 4 5 6 7
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 1.60 GHz - 3.20 GHz
available frequency steps: 3.20 GHz, 3.20 GHz, 3.07 GHz, 2.93 GHz, 2.80 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz
available cpufreq governors: powersave, ondemand, userspace, performance
current policy: frequency should be within 1.60 GHz and 3.20 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 3.20 GHz (asserted by call to hardware).
boost state support:
Supported: yes
Active: yes
2500 MHz max turbo 4 active cores
2500 MHz max turbo 3 active cores
2500 MHz max turbo 2 active cores
2600 MHz max turbo 1 active cores
Puoi anche ottimizzare le frequenze CPU min/max all'interno di un criterio utilizzando il cpupower frequency-set --min <freq> --max <freq>
. Vedi questa pagina per maggiori dettagli su cosa puoi fare con cpupower frequency-set
.
fare quanto sopra senza cpupowerutils
Quindi, infine, se non hai installato il pacchetto cpupowerutils, puoi interagire con esso in modo simile a come hai fatto nei precedenti kernel 2.6. Principalmente esegui l'eco dei valori in sysfs
filesystem.
ad esempio
$ echo 360000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Per kernel 2.6
Puoi leggere le varie funzionalità di cpufreq su questo sito.
estratto dal ridimensionamento della frequenza della CPU in Linux con cpufreq
ignore_nice_load – Questo parametro assume un valore di '0' o '1'. Quando
è impostato su "0" (impostazione predefinita), tutti i processi vengono conteggiati nel valore di "utilizzo della CPU
". Se impostato su "1", i processi eseguiti con un valore
"bello" non verranno conteggiati (e quindi verranno ignorati) nel calcolo dell'utilizzo complessivo
. Ciò è utile se stai eseguendo un calcolo intensivo della CPU
sul tuo laptop che non ti interessa quanto tempo ci vuole per
completare poiché puoi "correggerlo" e impedirgli di prendere parte al
processo decisionale se aumentare la frequenza della CPU. Per attivare
, procedi come segue.
sudo sh -c "echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore_nice_load"
Metterei uno 0 in questo file poiché questo dovrebbe essere l'impostazione predefinita. Se hai un processo piacevole di lunga durata, di cui dubito fortemente, puoi impostarlo su 1.