як міняти
Якщо в системі є, наприклад, 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. Для того, щоб встановити регулятор, потрібно додати цей файл такі рядки, в залежності від кількості процесорів: