add scripts
This commit is contained in:
@@ -35,4 +35,12 @@
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
|
||||
services.upower.enable = true;
|
||||
hardware.bluetooth.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
(writeShellScriptBin "power_max" (builtins.readFile ./scripts/max.sh))
|
||||
(writeShellScriptBin "power_min" (builtins.readFile ./scripts/min.sh))
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
Executable
+39
@@ -0,0 +1,39 @@
|
||||
#!/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) сняты."
|
||||
|
||||
Executable
+38
@@ -0,0 +1,38 @@
|
||||
#!/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"
|
||||
|
||||
# если cpufreq не поддерживается этим ядром, пропускаем
|
||||
[[ -e "$gov_file" ]] || continue
|
||||
|
||||
# включаем governor performance
|
||||
echo performance > "$gov_file"
|
||||
|
||||
# ставим минимальную и максимальную частоты в максимально допустимый диапазон
|
||||
if [[ -r "$avail_max_file" ]]; then
|
||||
max_freq=800000
|
||||
min_freq=400000
|
||||
echo "$max_freq" > "$max_file" 2>/dev/null || true
|
||||
echo "$min_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) сняты."
|
||||
|
||||
Reference in New Issue
Block a user