Я хочу изменить регулятор по умолчанию на моем пи с ondemand на производительность. Есть ли способ сделать это?
источник
Я хочу изменить регулятор по умолчанию на моем пи с ondemand на производительность. Есть ли способ сделать это?
Я не думаю, что вы можете изменить настройки по умолчанию без перекомпиляции ядра. Я имею в виду тот, который выбирает ядро при загрузке.
Тем не менее, вы можете указать ему использовать другой регулятор во время работы, поэтому, если вы хотите эффективно установить значение по умолчанию без перекомпиляции, вы можете добавить что-нибудь в /etc/rc.local
или какой-либо другой сценарий запуска.
/sys
Каталога нет на диске; это поддельная файловая система в оперативной памяти, которая на самом деле является интерфейсом для получения информации и отправки команд ядру. Это все относительно /sys/devices/system/cpu
, так что:
> cd /sys/devices/system/cpu
Вы также должны быть пользователем root, чтобы делать write ( echo blahblah >
). Во всяком случае, относительно вышеупомянутого каталога, чтобы увидеть доступные регуляторы:
> cat cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance
По-видимому, ваш ondemand
(но читайте "Gotcha" ниже об этом); Проверять:
> cat cpu0/cpufreq/scaling_governor
ondemand
Чтобы изменить это:
echo performance > cpu0/cpufreq/scaling_governor
Обратите внимание, что это должно быть сделано как root, или как это
sudo sh -c "echo performance > cpu0/cpufreq/scaling_governor"
Просто sudo
не получится, потому что есть редирект >
.
Теперь вы заметите, что /sys/devices/system/cpu/cpufreq
каталог (НЕ такой же, как /sys/devices/system/cpu/cpu0/cpufreq
!), Который ранее содержал файловые дескрипторы для настройки регулятора по требованию, пуст.
В Raspbian есть сценарий инициализации с неправильным именем raspi-config
(нет, он не имеет ничего общего с другим, который запускается при первой загрузке также с ошибочным именем apply_noobs_os_config.sh
), который использует эту технику для установки регулятора на значение, ondemand
если только клавиша Shift удерживается (стандартное ядро Raspbian powersave
скомпилировано в). Он больше ничего не делает, поэтому можно отключить this ( systemctl disable raspi-config
), или вы можете отредактировать его в соответствии с ответом Горкаморки , но тогда вы рискуете его отредактировать с помощью обновления системы и т. Д. - кто знает, что кто-то планирует делать с этим.
Вы можете попробовать добавить не-sudo версию выше /etc/rc.local
. Это может произойти после выхода из raspi-config
сценария.
tee
:echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
.cpufrequtils
иsysfsutils
. После их установки вы можете установить регулятор и другие параметры из/etc/default/cpufrequtils
и/etc/sysfs.conf
- см. Здесь: wiki.debian.org/HowTo/CpuFrequencyScalingЯ сделал небольшую программу, чтобы изменить ее и позволить ей меняться при каждой загрузке, автоматически создавая скрипт init.d.
Ссылка на мой проект
источник
аналогичный вопрос по обмену стека RPi здесь.
перефразируя, скорость по требованию возрастает до максимума, когда процессор занят на 95%. Вы можете понизить количество занятого времени до более низкого процента (то есть оно будет увеличено, если не так занят):
Итак, теоретически ... вы могли бы поставить этот процент на что-то невероятно низкое, например 10 или 5, что означало бы, что он всегда будет работать на максимуме.
Надеюсь это поможет. Не забудьте оценить человека, который разместил это в связанной статье!
источник
Альтернативное решение (если вы используете Raspbian) может состоять в том, чтобы изменить скрипт init.d в /etc/init.d/raspi-config, чтобы всегда отключать регулятор масштабирования. Поведение по умолчанию - включать его только при запуске, если нажата одна из клавиш Shift:
источник
echo "performance" | sudo tee / sys / devices / system / cpu / cpu0 / cpufreq / scaling_governor
источник