Files
nixos-config/nixos/scripts/max.sh
T
2025-12-27 04:55:44 +03:00

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) сняты."