设置核心速度 - linux


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.

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

以下@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

让我知道我是否可以在这个问题上提供帮助。 谢谢

您可以

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

如果缺少"cpufreq-set"命令,此命令可能会起作用:

cpupower -c 0 frequency-set -f 800

最新更新