dot-files/dot_local/bin/executable_togglecpu_pstate...

68 lines
1.6 KiB
Bash

#!/usr/bin/env bash
#
# run something like
# $ togglecpu_pstates.sh performance
#
# script to change the power and cpu throttle governor
# with new intel_pstates. use at your own risk
# this also uses the 'old' cpufreq-set to ensure that
# also the 'old' system is set the same way.
# this script ends with actively showing current frequencies.
# exit with ctrl+c.
if [[ -z $1 ]]; then
echo "error. no argument."
echo "use [performance|default|power]"
else
if [[ $1 == "performance" ]]
then
for i in /sys/bus/cpu/devices/cpu*
do
CPU=`echo "${i: -1}"`
sudo cpufreq-set -c $CPU -g performance
done
sudo x86_energy_perf_policy --turbo-enable 1
sudo x86_energy_perf_policy -a performance
watch cat /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_cur_freq
elif [[ $1 == "default" ]]
then
for i in /sys/bus/cpu/devices/cpu*
do
CPU=`echo "${i: -1}"`
sudo cpufreq-set -c $CPU -g powersave
done
sudo x86_energy_perf_policy --turbo-enable 0
sudo x86_energy_perf_policy -a default
watch cat /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_cur_freq
elif [[ $1 == "power" ]]
then
for i in /sys/bus/cpu/devices/cpu*
do
CPU=`echo "${i: -1}"`
sudo cpufreq-set -c $CPU -g powersave
done
sudo x86_energy_perf_policy --turbo-enable 0
sudo x86_energy_perf_policy -a power
watch cat /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_cur_freq
else
echo "error. no match."
echo "use [performance|default|power]"
fi
fi