2012-11-29 14 views
5
Architecture: 
**AMD** Opteron quad-core using 2 CPUs --- Numa system 

Processor : x86_64 Operating System: GNU/Linux 

Sto provando a impostare il core freq su 2.2GHz (che è il massimo) su un solo core del die. L'altro muore completamente spento.Set core speed - linux

sudo sh -c "echo 0 > /sys/devices/system/cpu/cpu1/online" 
sudo sh -c "echo 0 > /sys/devices/system/cpu/cpu3/online" 
sudo sh -c "echo 0 > /sys/devices/system/cpu/cpu5/online" 
sudo sh -c "echo 0 > /sys/devices/system/cpu/cpu7/online" 

Pertanto solo i nuclei, 0,2,4,6 are turned on

Ho provato a cambiare il governor di performance ma cambia la frequenza di altri core quando qualsiasi altro filo scorre su di esso. Ad esempio:

if thread one runs on core 0: then its freq is 2.2GHz 

when thread two starts to run on core 2: it gets it as 2.2GHz - Where as I am expecting it to work as 0.8GHz. 

c'è un modo particolare per impostare solo la frequenza di un solo nucleo permanente.

risposta

1

Si potrebbe provare a impostare il governatore su userspace (potrebbe essere necessario ricompilare il kernel se non è incluso) e quindi impostare manualmente la frequenza utilizzando scaling_setspeed.

+0

Fortunatamente, il governatore 'userspace' è fornito dalla mia versione del kernel e la distribuzione. Puoi espandere la parte successiva? – user1860977

+0

Ok. abbastanza semplice. dire 'echo spazio utente>/sys/devices/system/cpu/cpux/cpufreq/scaling_governor' dove X è l'ID nucleo ' cat/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor' 'cat/proc/cpuinfo | egrep 'processor | MHz'' – user1860977

+0

Il file 'scaling_setspeed' si trova nella stessa directory - dovresti essere in grado di echo la frequenza che desideri (di nuovo potrebbe non essere supportato dal tuo kernel). –

3

Segue la risposta @Lars.

Ecco la soluzione completa:

echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 

echo userspace > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor 

echo userspace > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor 

echo userspace > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor 

yum install cpufrequtils o sudo aptitude install cpufrequtils

Poi,

sudo cpufreq-set -c 0 -f 2200Mhz 

sudo cpufreq-set -c 2 -f 800Mhz 

sudo cpufreq-set -c 4 -f 800Mhz 

sudo cpufreq-set -c 6 -f 800Mhz 

fammi sapere se posso essere più aiutare in questo problema. grazie

0

questo comando potrebbe funzionare se quello "cpufreq-set" manca:

cpupower -c 0 frequency-set -f 800