设置核心速度 - linux

时间:2012-11-29 06:37:16

标签: linux cpu-speed

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

我尝试将governor更改为performance,但它会更改其他核心的频率。当任何其他线程在其上运行时。 例如:

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.

有一种特殊的方法可以永久地设置一个核心的频率。

3 个答案:

答案 0 :(得分: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

如果我能在这个问题上再帮忙,请告诉我。感谢

答案 1 :(得分:1)

您可以尝试将调控器设置为userspace(如果不包含内核,则可能需要重新编译内核),然后使用scaling_setspeed手动设置频率。

答案 2 :(得分:0)

如果" cpufreq-set"该命令可能有效。一个人失踪了:

cpupower -c 0 frequency-set -f 800