Utilizzare la CPU su Linux al massimo della velocità

In molti casi ci si accorge che nonostante il server Linux abbia una super-cpu, il sistema operativo ed i software non stanno girando a “tutta potenza”.

Per verificare a quale velocità stanno andando le CPU basta eseguire questo comando:
grep -E '^model name|^cpu MHz' /proc/cpuinfo

ed otterrete una risposta come la seguente:

model name      : Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
cpu MHz         : 1600.000
...

In questo caso la CPU viene utilizzato al 60% delle sue potenzialità! Sebbene questa sia una caratteristica ottima per una workstation (per risparmiare energia ed abbassare la velocità delle ventole), nel caso di server può essere utile avere sempre la massima velocità.
Questa funzionalità, gestita direttamente dal kernel, è possibile modificarne il comportamento come segue:

1) controllare che il software ‘kondemand’ sia in esecuzione tramite il seguente comando:  “pgrep -lf ondemand”

[root@boston07 ~]# uname -a
Linux boston07 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 16:18:27 EST 2009 i686 i686 i386 GNU/Linux
[root@boston07 ~]# pgrep -lf ondemand
1444 kondemand/0
1445 kondemand/1

2)  Controllare che le CPU stiano in esecuzione ad una velocità inferiore a quella di picco:

[root@boston07 ~]# grep -E '^model name|^cpu MHz' /proc/cpuinfo
model name      : Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
cpu MHz         : 1596.000
model name      : Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
cpu MHz         : 1596.000

3) Cambia l’algoritmo di gestione delle CPU da ‘ondemand’ a ‘performance’ per ogni CPU:

for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do [ -f $CPUFREQ ] || continue; echo -n performance > $CPUFREQ; done

4) Verifica nuovamente che le CPU stiano effettivamente andando al massimo della velocità:

[root@boston07 ~]# grep -E '^model name|^cpu MHz' /proc/cpuinfo
model name      : Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
cpu MHz         : 2394.000
model name      : Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
cpu MHz         : 2394.000

5)  se sono attivi i servizi  ‘cpuspeed’, ‘cpufreqd’, ‘powerd’ , stoppali per evitare che controllino la velocità della CPU:

# service cpuspeed stop

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Time limit is exhausted. Please reload CAPTCHA.