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

Processor : x86_64 Operating System: GNU/Linux 

我試圖設置核心頻率爲2.2GHz(即最大)只有一個核心的芯片。另一個死亡完全關閉。設置核心速度-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" 

因此只是核心,0,2,4,6 are turned on

我曾試圖改變governorperformance但是當任何其他線程上運行時,它改變了其他內核的頻率。 例如:

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/CPU頻率/ scaling_governor' 其中X是核心ID '貓/ SYS /裝置/系統/ CPU/CPU0/CPU頻率/ 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 cpufrequtilssudo 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

如果「CPU頻率設定」一個缺少此命令可能工作:

cpupower -c 0 frequency-set -f 800