як міняти

Якщо в системі є, наприклад, 3 ядра, то можна виконати ось цей однорядковий скрипт, щоб відразу перевести частоту з KHz в MHz:

Ось ще один варіант, як перевірити поточну частоту процесора звичайним користувачем:

Ось ця команда покаже температуру процесора:

В ядрі існують модулі, що відповідають за регулятори або політики зміни частоти процесора. Всі доступні для завантаженого ядра можна подивитися у файлі / sys / devices / system / cpu / cpu0 / cpufreq / scaling_available_governors

Розглянемо їх нижче.

powersave і performance

Ці регулятори статично встановлюють тактову частоту процесора на мінімальне (powersave) і на максимальне (performance) значення.

Цей регулятор дає користувачеві або програмою в просторі користувача можливість змінювати тактову частоту процесора. За допомогою команди echo користувач може внести потрібне значення частоти в файл / sys / devices / system / cpu / cpu * / cpufreq / scaling_setspeed або ж уявити можливість встановити цю частоту якомусь демону в просторі користувача. Вносити настройку в файл scaling_setspeed необхідно для кожного з процесорів.

З регулятором userspace взаємодіють кілька демонів, які можуть налаштовувати частоту процесора. Ось деякі з них:

cpudyn (CPU dynamic frequency control): цей демон змінює частоту відповідно до завантаження процесора, а також, для ще більшої економії енергії, може переводити диски в режим очікування (standby) при відсутності дискової активності.

cpufreqd: це демон можна налаштувати на реагування на рівень заряду батареї, тип харчування (від мережі або від батареї), температуру, запущені програми, рівень використання процесора і на інші фактори.

cpuspeed: цей демон змінює частоту відповідно до вимог процесора, зміною джерела живлення, температурою та іншими даними.

powernowd: цей демон регулятора змінює частоту процесора відповідно до завантаження процесора; у нього чотири режими поведінки, які вибираються користувачем.

При задіяному регуляторі ondemand в каталозі cpufreq присутній каталог ondemand. У цьому каталозі є безліч регульованих налаштувань. Всі файли, доступні на запис для root, можна змінити, вписавши нове значення за допомогою команди echo, як показувалося раніше. Зауважте, що будь-які зміни в налаштуваннях регулятора ondemand будуть застосовуватися на загальносистемному рівні, тому немає необхідності змінювати налаштування для кожного процесора.

conservative

При використанні регулятора conservative в каталозі cpufreq з'являється підкаталог conservative. У цьому підкаталозі є безліч налаштувань. Всі файли, доступні на запис для root, можна змінювати, вписуючи в них нове значення за допомогою команди echo. Зауважте, що будь-які зміни в налаштуваннях регулятора conservative будуть застосовуватися на загальносистемному рівні, тому немає необхідності змінювати налаштування для кожного процесора. При цій політиці, регулювання частоти відбувається плавно, що позначається сприятливіші на довговічність акумулятора, якщо у вас портативний пристрій.

Всі доступні регулятори можна подивитися в / sys / devices / system / cpu / cpu0 / cpufreq / scaling_available_governors.

Так можна дізнатися поточну політику:

Політика управління частотою процесора змінюється так само:

Для збереження потрібної політики управління частотою після перезавантаження існує набір службових програм sysfsutils.

Робота цих програм заснована на віртуальній файлової системи sysfs. За допомогою цих програм можна керувати параметрами пристроїв і системи, розташованими в системній директорії / sys.

Для Debian-подібних систем його установка проводиться таким чином:

Конфігуруються sysfsutils через файл /etc/sysfs.conf. Для того, щоб встановити регулятор, потрібно додати цей файл такі рядки, в залежності від кількості процесорів: