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

Processor : x86_64 Operating System: GNU/Linux 

J'essaye de régler la fréquence de base à 2,2 GHz (c'est-à-dire le maximum) sur un seul noyau de la puce. L'autre meurt complètement éteint.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" 

donc seulement les noyaux, 0,2,4,6 are turned on

J'ai essayé de changer le governor à performance mais il change la fréquence des autres noyaux quand tout autre fil fonctionne sur elle. Par exemple:

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. 

est-il un moyen particulier de régler simplement la fréquence d'un seul noyau en permanence.

Répondre

1

Vous pouvez essayer de régler le régulateur sur userspace (vous devrez peut-être recompiler votre noyau s'il n'est pas inclus), puis régler manuellement la fréquence en utilisant scaling_setspeed.

+0

Heureusement, le gouverneur 'userspace' est fourni par ma version du noyau et de la distribution. Pouvez-vous développer la partie suivante? – user1860977

+0

D'accord. assez facile. 'dire écho userspace>/sys/devices/system/cpu/CPUX/cpufreq/scaling_governor' où X est l'identifiant de noyau ' cat/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor' 'cat/proc/cpuinfo | egrep 'processor | MHz'' – user1860977

+0

Le fichier 'scaling_setspeed' se trouve dans le même répertoire - vous devriez pouvoir faire écho à la fréquence que vous voulez (il se peut que ce ne soit pas supporté par votre noyau). –

3

Après @Lars répondez.

Voici la solution complète:

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 ou sudo aptitude install cpufrequtils

Ensuite,

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 

Laissez-moi savoir si je peux être aider plus dans ce numéro. grâce

0

cette commande pourrait fonctionner si une « cpufreq-set » manque:

cpupower -c 0 frequency-set -f 800