几天前,我的电脑开始感觉非常很慢,而且查看了 CPU 使用率,我发现即使是最简单的进程也需要大量的 CPU。
据我所知,这是因为核心全部降频至 800Mhz,并且在需要时不会再次升频。
$ cat /proc/cpuinfo | grep MHz
cpu MHz : 800.000
cpu MHz : 800.000
cpu MHz : 800.000
cpu MHz : 800.000
作为测试,我启动 BOINC,将所有核心加载到最大,使用 htop,我看到所有核心的运行效率都超过 95%。
我的 CPU 缩放设置:
$ for governor in $(ls /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor); do cat $governor; done
ondemand
ondemand
ondemand
ondemand
通过‘按需’,我预计核心可以加速并达到最大功率,但是却watch
显示它们稳定在 800 上。
为了获得更好的性能,我需要手动强制它:
sudo bash -c 'for governor in $(ls /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor); do
echo"performance" > $governor;
done'
立即将频率更改为:
$ cat /proc/cpuinfo | grep MHz
cpu MHz : 2701.000
cpu MHz : 2701.000
cpu MHz : 2701.000
cpu MHz : 2701.000
答案1
cat /proc/cpuinfo | grep MHz
(或grep MHz /proc/cpuinfo
)将仅显示标准时钟速度。
如果您想要实时 CPU 频率设置,您需要更强大的功能。我知道powertop
这很有用,但对于一直方便的东西来说,indicator-cpu
这可能是值得的:
sudo apt-get install indicator-cpufreq
indicator-cpufreq
您需要添加indicator-cpufreq
在启动时运行的内容,否则您必须每次登录时手动运行它。