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 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
让我知道我是否可以在这个问题上提供帮助。 谢谢
尝试将调控器设置为 userspace
(如果未包含内核,则可能需要重新编译内核),然后使用 scaling_setspeed
手动设置频率。
如果缺少"cpufreq-set"命令,此命令可能会起作用:
cpupower -c 0 frequency-set -f 800