Ubuntu 16.04 如何锁住CPU频率?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
tendrepois
帖子: 1
注册时间: 2018-09-07 21:11

Ubuntu 16.04 如何锁住CPU频率?

#1

帖子 tendrepois » 2018-09-07 21:43

机器是服务器(Dell PowerEdge R730xd)
CPU是Intel Xeon E5 2630 v4 2.2GHz
系统是Ubuntu 16.04
内核是4.15.0-33-generic

目前已经做了这些设置:
1、禁用了intel_pstate驱动

通过在/etc/default/grub里加入intel_pstate=disable来关闭

现在cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver显示的是acpi-cpufreq

2、使用了userspace governor并设置了指定频率

通过sudo cpupower frequency-set -g userspace设置了使用userspace

现在 cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor显示的是userspace

并且通过sudo cpupower frequency-set -f 2.2G设置了指定频率2.2 GHz

现在 cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq显示的是2200000


但,但实际上!通过watch -n 1 "cat /proc/cpuinfo | grep MHz"来观察CPU的频率是不停变动的,用i7z看也是在变化的!只有在CPU负载变高的时候(比如用stress来给压力),才能达到设定的频率,在没有负载的时候频率就在不停变化!


怀疑过是BIOS的一些设置问题,目前我BIOS的相关设置如下:
CPU Power Management -> OS DBPM (即OS Control,允许操作系统调整CPU频率)
Turbo Boost -> Disabled
C1E -> Disabled (When set to Enabled, the processor is allowed to switch to minimum performance state when idle)
C States -> Disabled (C States allow the processor to enter lower power states when idle)
Uncore Frequency -> Maximum
Energy Efficient Policy -> Performance (还有Balanced Performance / Balanced Energy / Energy Efficient可选但感觉这些不妙)
Monitor/Mwait -> Enabled

请教各位大佬,到底如何使CPU运行在一个指定的频率?!
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

Re: Ubuntu 16.04 如何锁住CPU频率?

#2

帖子 astolia » 2018-09-08 11:31

试过指定最低频率没有?
sudo cpupower frequency-set -d 2.2G
回复