改变频率但没有什么不同

改变频率但没有什么不同

我的问题在这里:

root@LeAn:~/Desktop# sh MinPower.sh 
CPU MHz:               1200.000
root@LeAn:~/Desktop# lscpu | grep MHz
CPU MHz:               1200.000
root@LeAn:~/Desktop# python TestCpu.py 
11.3900308609
root@LeAn:~/Desktop# sh MaxPower.sh 
CPU MHz:               2700.000
root@LeAn:~/Desktop# lscpu | grep MHz
CPU MHz:               2700.000
root@LeAn:~/Desktop# python TestCpu.py 
11.4552109241

这是 MaxPower.sh

modprobe cpufreq_userspace
cpufreq-set -c 0 -u 2.7GHz
cpufreq-set -c 1 -u 2.7GHz
cpufreq-set -c 2 -u 2.7GHz
cpufreq-set -c 3 -u 2.7GHz
cpufreq-set -c 4 -u 2.7GHz
cpufreq-set -c 5 -u 2.7GHz
cpufreq-set -c 6 -u 2.7GHz
cpufreq-set -c 7 -u 2.7GHz
cpufreq-set -c 0 -d 2.7GHz
cpufreq-set -c 1 -d 2.7GHz
cpufreq-set -c 2 -d 2.7GHz
cpufreq-set -c 3 -d 2.7GHz
cpufreq-set -c 4 -d 2.7GHz
cpufreq-set -c 5 -d 2.7GHz
cpufreq-set -c 6 -d 2.7GHz
cpufreq-set -c 7 -d 2.7GHz
cpufreq-set -c 0 -f 2.7GHz
cpufreq-set -c 1 -f 2.7GHz
cpufreq-set -c 2 -f 2.7GHz
cpufreq-set -c 3 -f 2.7GHz
cpufreq-set -c 4 -f 2.7GHz
cpufreq-set -c 5 -f 2.7GHz
cpufreq-set -c 6 -f 2.7GHz
cpufreq-set -c 7 -f 2.7GHz
lscpu | grep MHz

这是TestCpu.py

import time
start_time = time.time()
i=0
while (i<50000000):
    i+=1
print time.time() - start_time

问题是为什么两个频率之间没有区别?

答案1

如果 cpufrequtils 未安装或者无法正常工作,您可以绕过它,以下命令将调整您的频率:

设置高低频率边界的方法是使用以下命令:

首先,列出支持的频率:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

要列出当前低边界集,请使用以下命令:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

或列出最大值:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

例如,要将低点设置为 1200,请使用以下命令:

echo "1200000" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_min_freq

例如,要将最大值设置为 2700,请使用以下命令:

echo "2700000" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq

默认governor设置为“ondemand”,仅在需要或系统负载下才会达到最大值。CPU 在低负载下不会时钟频率过高。要将 CPU 设置为静态频率,请使用“performance”并将 max_freq 设置为所需频率。

要列出可用的调控器,请使用以下命令:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

要列出当前调控器,请使用以下命令:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

要将当前调节器设置为性能,请使用以下命令:

echo "performance" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

您甚至可以根据您拥有的核心数量,通过将 cpu* 替换为实际的 cpu(例如 cpu0、cpu1、cpu2 或 cpu3)来调整各个核心。

这里有一些更多信息

答案2

默认调节器设置为“ondemand”,仅在需要或系统负载下才会达到最大值。CPU 在低负载下不会时钟频率过高。要将 CPU 设置为静态频率,请使用“performance”并将 max_freq 设置为所需频率。

相关内容