40 lines
1.3 KiB
Bash
Executable File
40 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# выйти при ошибке
|
|
set -e
|
|
|
|
# нужно запускать от root:
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "Этот скрипт нужно запускать от root (sudo)."
|
|
exit 1
|
|
fi
|
|
|
|
CPU_PATH="/sys/devices/system/cpu"
|
|
|
|
# обрабатываем все CPU: cpu0, cpu1, ...
|
|
for cpu_dir in "$CPU_PATH"/cpu[0-9]*; do
|
|
gov_file="$cpu_dir/cpufreq/scaling_governor"
|
|
min_file="$cpu_dir/cpufreq/scaling_min_freq"
|
|
max_file="$cpu_dir/cpufreq/scaling_max_freq"
|
|
avail_max_file="$cpu_dir/cpufreq/cpuinfo_max_freq"
|
|
|
|
# если cpufreq не поддерживается этим ядром, пропускаем
|
|
[[ -e "$gov_file" ]] || continue
|
|
|
|
# включаем governor performance
|
|
echo performance > "$gov_file"
|
|
|
|
# ставим минимальную и максимальную частоты в максимально допустимый диапазон
|
|
if [[ -r "$avail_max_file" ]]; then
|
|
#max_freq=$(cat "$avail_max_file")
|
|
max_freq=3800000
|
|
echo "$max_freq" > "$max_file" 2>/dev/null || true
|
|
echo "$max_freq" > "$min_file" 2>/dev/null || true
|
|
fi
|
|
|
|
echo "Настроен $(basename "$cpu_dir"): governor=performance, max_freq=$(cat "$max_file" 2>/dev/null)"
|
|
done
|
|
|
|
echo "Готово. Ограничения частоты (в пределах допуска CPU/BIOS) сняты."
|
|
|