Pagina 1 di 1

Forzare velocità cpu

Inviato: gio 28 giu 2012, 10:50
da ZeroUno
La mia cpu (4core hyperthread == 8 core) ha velocità variabile che credo cambi dinamicamente a seconda di quanto ne ha bisogno. Infatti dal grep MHz /proc/cpuinfo trovo a volte tutti i core a 800, a volte tutti a 2200, a volte alcuni a 800 e altri a 2200, a seconda di che attività sto facendo. Con il turbo boost poi dovrebbe essere in grado di spegnere dinamicamente alcuni core per velocizzare a 3000 c.a. altri (non l'ho mai visto in cpuinfo ma su windows con il tool proprietario si) per ottimizzare i processi pesanti non multithread.

Ieri mi sono ritrovato costretto all'uso della batteria con il portatile, per un uso più lungo possibile.

Mi chiedevo se è possibile FORZARE la velocità della cpu. Per esempio se forzavo tutti i core a 800MHz, magari attività più pesanti mi sarebbero andate più lente ma avrei risparmiato batteria. In passato (kde 3.5??) lo facevo (ma solo come prova; non l'ho mai usato veramente, mentre ieri mi sarebbe servito).

Se forzavo il kernel ad usare meno core (se non erro passando al boot il parametro maxcpu o simile) avrei risparmiato energia? in fondo i core saranno pure 8 (fittizzi perchè sono 4 raddoppiati dall'hyperthread), ma la cpu è UNA e se spengo (o meglio, non uso) 7 core comunque non ho spento la cpu.

Alla fine mettendo la luminosità al minimo, evitando di lanciare applicazioni pesanti (in fondo lavoro in remoto e quindi uso console, ma anche l'uso del browser o l'indicizzazione della posta si prende la sua quota cpu) e spengendo la wifi, sono riuscito a lavorare 2h 30m.

Re: Forzare velocità cpu

Inviato: gio 28 giu 2012, 11:01
da joe
Prova cpufreq-set.
Io per esempio sul portaile lancio sempre:

Codice: Seleziona tutto

for cpu in 0 1; do cpufreq-set -f 1.86GHz -c $cpu;done
Il mio scopo è quello di zittire la ventolina di raffreddamento. Ho un P4-3.2GHz che ha 4 scalini di frequenza: 1.86, 2.3, 2.8, 3.2 GHz.
Vuole essere gestito come un dual core col kernel smp, quindi il comando va ripetuto per entrambe le cpu virtuali (0 e 1), da qui l'impiego del un ciclo for.
Per sapere le frequenze disponibili puoi usare "cpufreq-info".
Entrambi i comandi sulla mia slack-13.1 fanno parte del pacchetto: cpufrequtils-007-i486-1
Vedi "cpufreq-set -h" per ulteriori info, puoi cambiare il governor per esempio ecc ecc.

Re: Forzare velocità cpu

Inviato: gio 28 giu 2012, 11:31
da ZeroUno
E un tool grafico, che magari mi si integri in gestione energia? Con kde 3.5 mi ricordo che cliccando sulla batteria o simile, nelle impostazioni c'era proprio l'abilitazione di qualcosa (per l'integrazione con acpi) e quindi se passavo a batteria mi diminuiva la velocità e se passavo a corrente me l'aumentava.

Re: Forzare velocità cpu

Inviato: gio 28 giu 2012, 12:16
da joe
Non ti so dire perchè non ne uso al momento.
Anni e anni fa su Fedora avevo trovato un applet che s'interfacciava in qualche modo allo scaling della cpu. Però parliamo di gnome di un lustro fà.
Se usi kde.... Su un forum consigliano questo, ma ho fatto solo una ricerca così al volo:
I am not aware of an application that allows direct control, but you can use the Battery plasmoid in combination with Powerdevil, which can control the CPU frequency governor.

Re: Forzare velocità cpu

Inviato: gio 28 giu 2012, 13:00
da RedSkull92
dai un'occhiata a powertop

Re: Forzare velocità cpu

Inviato: gio 28 giu 2012, 13:06
da ZeroUno
powertop:
"Turbo Mode 0.0% "
Nessun processo oggi ha utilizzato il turbo mode :-(

Re: Forzare velocità cpu

Inviato: gio 28 giu 2012, 16:37
da slux
ZeroUno ha scritto:Mi chiedevo se è possibile FORZARE la velocità della cpu. Per esempio se forzavo tutti i core a 800MHz, magari attività più pesanti mi sarebbero andate più lente ma avrei risparmiato batteria. In passato (kde 3.5??) lo facevo (ma solo come prova; non l'ho mai usato veramente, mentre ieri mi sarebbe servito).
Dal file Documentation/cpu-freq/governors.txt del kernel:

The CPUfreq governor "powersave" sets the CPU statically to the
lowest frequency within the borders of scaling_min_freq and scaling_max_freq.


Qui trovi una guida esaustiva:

https://wiki.archlinux.org/index.php/CP ... cy_Scaling

Tieni conto che comunque che al contrario di cui uno può pensare,generalmente il governor ondemand ,funziona meglio di powersave (in termini di risparmio energia).Questo perchè con Ondemand,la cpu esegue più rapidamente il compito e poi torna subito a riposo.Nell'altro caso invece,la cpu impiega più tempo e alla fine la quantità di energia utlilizzata (in termini di potenza) è maggiore.
Questo secondo Intel ovviamente.