Изменить частоту, но ничем не отличается
Моя проблема здесь:
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
Вопрос в том, почему между 2 частотами нет ничего другого?
2 ответа
Вы можете обойти 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" и будет только максимальным, если это необходимо или под нагрузкой системы. Процессор не будет работать на высокой частоте при низкой нагрузке. Чтобы установить процессор на статическую частоту, используйте "производительность" и установите 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
Вы даже можете настроить отдельные ядра, заменив процессор * фактическим процессором, таким как процессор0, процессор1, процессор2 или процессор3, в зависимости от того, сколько ядер у вас есть.
Регулятор по умолчанию установлен на "ondemand" и будет максимальным только при необходимости или под нагрузкой системы. Процессор не будет тактироваться при низкой нагрузке. Чтобы установить процессор на статическую частоту, используйте "производительность" и установите max_freq на желаемую частоту.