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

Processor : x86_64 Operating System: GNU/Linux 

私はコアの周波数を2.2GHzに設定しようとしています。もう一方のダイは完全に消えた。コアのスピードを設定する -

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" 

ためだけコア、0,2,4,6 are turned on

私はperformancegovernorを変更しようとしたが、他のスレッドがその上で実行されるときには、他のコアの周波数を変化させます。例えば :

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. 

だけ永久ちょうど一つのコアの周波数を設定するための特定の方法があります。

答えて

1

ガバナーをuserspaceに設定してください(含まれていない場合は、カーネルを再コンパイルする必要があります)。scaling_setspeedを使用して手動で周波数を設定してください。

+0

幸い、知事 'userspace'がカーネルとディストリビューションの私のバージョンで提供されます。 後で展開できますか? – user1860977

+0

非常に簡単です。 言う 'エコーユーザ空間>/SYS /デバイス/システム/ CPU/CPUX/cpufreqを/ scaling_governor' Xは、コアID '猫/ SYS /デバイス/システム/ CPU/CPU0/cpufreqを/ scaling_governor' あります 'cat/proc/cpuinfo | egrep 'processor | MHz'' – user1860977

+0

'scaling_setspeed'ファイルは同じディレクトリにあります。あなたが望む周波数をエコーすることができるはずです(これはあなたのカーネルではサポートされていないかもしれません)。 –

3

@Larsの回答に続きます。

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またはsudo aptitude install cpufrequtils

その後、

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 

は、私はもうこの問題に役立てることができるかどうか私に教えてください:ここで

は完全なソリューションです。おかげ

0

「cpufreqをセット」1が欠落している場合、このコマンドはうまくいくかもしれない:

cpupower -c 0 frequency-set -f 800 
関連する問題