Cpu frequency scaling (український)
Інформація в цій статті або розділі застаріла
Причина: В зв'язку з виходом ядер версії 3.5 і вище, cpufrequtils застаріли і більше не використовуються. (Обговорити)
Cpufrequtils - це набір утиліт розроблених для підтримки функції масштабування частоти процесора, технології, переважно застосовується в ноутбуках, яка дозволяє операційній системі збільшувати або зменшувати тактову частоту процесора в залежності від навантаження на систему і / або схеми енергоспоживання. Наприклад, масштабування частоти процесора може скоротити частоту 2 ГГц процесора до 1 ГГц коли ноутбук працює від батарей, збільшуючи таким чином час роботи, знижуючи нагрів і зменшуючи шум вентилятора.
При використанні спільно з Pm-utils і Laptop Mode Tools. власники забезпечені повним набором утиліт для управління енергоспоживанням.
powertop надає ту ж інформацію, що і команда cpufreq-info, проте поступається їй в детальності.
Налаштування масштабування частоти проводиться в три етапи:
- завантаження відповідного драйвера управління частотою процесора.
- завантаження бажаного регулятора масштабування.
- настройка методу управління регуляторами: ручний (через / sys або cpufreq-set), через cpufrequtils daemon. laptop-mode-tools, acpid або пі допомоги аплету оточення робочого столу.
- (Опціонально) настройка масштабування частоти.
Драйвер управління частотою процесора
Для коректного управління масштабуванням частотою, ОС перш за все повинна знати параметри вашого процесора (ів). Для цього потрібно завантажити модуль ядра, який може зчитувати і управляти параметрами вашого процесора (ів).
Для більшості сучасних ноутбуків і настільних комп'ютерів можна використовувати драйвер acpi-cpufreq. однак є ще такі варіанти як p4-clockmod, powernow-k6, powernow-k7, powernow-k8, і speedstep-centrino. Щоб побачити повний список, запустіть:
Tip: Для AMD "K10" використовуйте драйвер powernow-k8.
Для завантаження драйвера вручну:
Для більш старих процесорів Intel, система може видати:
У цій ситуації, замініть модуль ядра acpi_cpufreq на speedstep-centrino. p4-clockmod або speedstep-ich.
Tip: Врахуйте, що модуль speedstep-centrino застарів, а модуль p4-clockmod підтримує тільки performance і powersave регуляторів.)
Завантаження при старті системи
Для автоматичного завантаження драйвера під час старту системи, додайте відповідний драйвер в масив MODULES в файлі /etc/rc.conf. наприклад:
Як тільки завантажений правильний драйвер cpufreq, ви можете подивитися детальну інформацію про вашому процесорі (ах), виконавши:
Ось приклад виведення cpufreq-info.
Спостерігати за частотою процесора в режимі реального часу можна, виконавши команду:
Переваги використання в GNOME
У середовища робочого столу GNOME є аплет для управління регуляторами "на льоту". Щоб кожного разу не вводити пароль при перемиканні, просто створіть /var/lib/polkit-1/localauthority/50-local.d/org.gnome.cpufreqselector.pkla і відредагуйте файл:
Слово USER замініть на ваше ім'я користувача.
Laptop Mode Tools
Якщо Ви використовуєте або плануєте використовувати Laptop Mode Tools для інших можливостей енергозбереження, Ви можете також дати цій програмі можливість управляти частотою Вашого процесора. Просто додайте модуль acpi-cpufreq в масив MODULES в файлі /etc/rc.conf.
Регулятори масштабування (схеми енергоспоживання)
Регулятори можна розглядати як заздалегідь сконфігурірование схеми енергоспоживання процесора. Регулятори повинні бути завантажені як модулі ядра, щоб їх могли бачити такі програми як kpowersave і gnome-power-manager. Ви можете завантажити стільки гувернерів, скільки вам завгодно, однак в будь-який момент часу активним буде лише один.
cpufreq_performance (за замовчуванням) регулятор performance (продуктивність) вбудований в ядро і підтримує процесор (и) на максимальній тактовій частоті cpufreq_ondemand (рекомендується) динамічно збільшує / зменшує тактову частоту процесора в залежності від завантаженості системи cpufreq_conservative схожий на ondemand, але більш економний (перевага віддається меншим тактовим частотам) cpufreq_powersave процесор працює на мінімально можливої тактовій частоті cpufreq_userspace тактова частота задається користувачем вручну
Додайте необхідний регулятор в масив MODULES в /etc/rc.conf (обов'язково після модуля acpi-cpufreq).
Ви можете вручну встановити регулятора за допомогою команди cpufreq-set (як root), однак, ця настройка не збережеться після перезавантаження / виключення. наприклад:
Зауважте, що попередні команди задавали регулятора тільки для першого процесора. Якщо у Вас багатоядерний процесор або многопроцессорная система, використовуйте прапор -c, щоб задати регулятор для певного процесора. Наприклад, щоб задати регулятор для четвертого процесора (нумерація починається з нуля):
Щоб задати регулятор для всіх ядер многоядерного процесора, введіть (приклад для 6-ядерного процесора):
Щоб задати максимальний і мінімальний межі частоти для регулятора використовуйте опції -u і -d. Наприклад, задамо максимальна межа 2.20GHz і мінімальна межа 1.50GHz для регулятора ondemand і всіх ядер 6-ядерного процесора:
Для додаткової інформації запустіть cpufreq-set --help або man cpufreq-set.
Якщо Вам потрібен графічний інтерфейс для налаштування регуляторів або частоти, є пакет trayfreq. який при запуску з'являється в треї.
Зміна параметрів роботи регулятора ondemand
Щоб змінити значення завантаження процесора, при якому регулятор підвищує частоту, потрібно змінювати значення в файлі / sys / devices / system / cpu / cpufreq / ondemand / up_threshold. Поточне значення можна подивитися, виконавши:
Значення за замовчуванням дорівнює 95. в версії ядра 2.6.37. Це означає, що частота підвищиться, як тільки завантаження процесора досягне 95%. Можете змінити це значення, запустивши:
Note: Мінімальна допустиме значення, яке Ви вводите, має бути не нижче значення в файлі down_threshold; якщо Ви спробуєте внести менше значення, bash поверне помилку: "bash: echo: write error: Invalid argument"
Note: Додавання рядка за допомогою команди echo в файл /etc/rc.local дозволить налаштування "пережити" перезавантаження. Однак, повинен бути виставлений гувернер ondemand.
Якщо Ви не хочете чекати завантаження демона cpufreq при старті системи (наприклад, щоб зменшити час завантаження), додайте це в файл /etc/rc.local.
Взаємодія з подіями ACPI
Користувачі можуть настроїти автоматичне масштабування при різних подіях ACPI, таких як підключення пристрою харчування або закриття кришки ноутбука. Ці події визначаються в /etc/acpi/handler.sh. Якщо пакет acpid встановлений, цей файл вже повинен існувати за вказаним шляхом. Наприклад, щоб змінити регулятор з performance на conservative при відключенні пристрою харчування і повернути його на місце при підключенні:
cpufrequtils також включає в себе демона, який дозволяє встановити регулятор масштабування і частоту процесора при старті системи, без використання додаткових пакетів, таких як kpowersave.
Перед тим, як запустити демона, відредагуйте /etc/conf.d/cpufreq. Виберіть потрібний Вам регулятор, виставите мінімальну / максимальну частоту процесора, наприклад:
Після настройки можете запустити демона:
Для автоматичного запуску демона при старті системи, додайте cpufreq в масив DAEMONS в файлі /etc/rc.conf. Наприклад: