Как масштабировать драйвер intel_pstate в Ubuntu 15.04?
Я почти перепробовал все решения для масштабирования частоты процессора, но безуспешно. У меня Intel Core i5-3210m 2.5Ghz-3.1Ghz. Я хочу постоянно установить его на 1,6 ГГц без турбонаддува, чтобы улучшить время автономной работы. Пожалуйста, сообщите это в соответствии с драйвером intel_pstate.
1 ответ
Чтобы ограничить верхнюю частоту процессора с драйвером intel_pstate до 52%, выполните:
echo "52" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
Примечание 1: при расчете 52% я предположил, что у вас включена турбонагнетатель, для максимального значения давления 31. Следовательно, 1,6 / 3,1 = 52%. Если вы отключили турбо, то число будет 64%. Нет необходимости специально отключать турбо, так как с этим ограничением он никогда не войдет в турбо диапазон.
Примечание 2: В зависимости от ваших приложений и процессора ограничение частоты процессора может не привести к увеличению срока службы батареи. В некоторых случаях более быстрое выполнение задачи через более высокую частоту ЦП и, следовательно, более быстрое и длительное переход некоторых процессоров в режим глубокого сна (самое высокое состояние C) может привести к снижению общего энергопотребления.
Примечание 3: решение не является постоянным, и настройка будет потеряна при перезагрузке. Я предлагаю вам попробовать это некоторое время, доложить, а затем мы можем подумать, как сделать его постоянным. Для этого есть другие инструменты более высокого уровня, но я никогда не использую их. Кто-то другой может дать другой ответ, включающий инструменты более высокого уровня.
Пример (другой процессор, разные номера). CPU 7 загружен менее чем на 100%:
Перед установкой верхнего предела частоты:
$ grep MHz /proc/cpuinfo
cpu MHz : 3697.234
cpu MHz : 3655.796
cpu MHz : 3699.890
cpu MHz : 3742.257
cpu MHz : 3613.562
cpu MHz : 3670.273
cpu MHz : 3628.968
cpu MHz : 3799.898
Теперь ограничьте верхнюю частоту и проверьте ее:
$ echo "50" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
50
$ cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
50
$ grep MHz /proc/cpuinfo
cpu MHz : 1899.882
cpu MHz : 1900.015
cpu MHz : 1899.882
cpu MHz : 1893.906
cpu MHz : 1899.351
cpu MHz : 1900.015
cpu MHz : 1899.750
cpu MHz : 1899.882
РЕДАКТИРОВАТЬ: Следите за бэкпортом изменений драйвера intel_pstate для любого вашего ядра. Я знаю, что бэкпортинг делается, но я не знаю сроков выпуска.
Чтобы изменения всегда происходили во время загрузки, сначала создайте сценарий, например:
$ cat set_cpu_max_perf_pct
#! /bin/bash
echo 52 >/sys/devices/system/cpu/intel_pstate/max_perf_pct
echo -n "intel_pstate maximum performance request is (percent): "
cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
Протестируйте скрипт, работающий как sudo. Затем обратитесь к одному из множества других вопросов и ответов, по которым он запускается во время загрузки. Скажи это.
Кроме того, вы можете установить такие инструменты, как TLP, которые имеют эти настройки в файле конфигурации с параметром для батареи или переменного тока и автоматическим переключателем.