summaryrefslogtreecommitdiff
path: root/bin/cpuctl
diff options
context:
space:
mode:
Diffstat (limited to 'bin/cpuctl')
-rwxr-xr-xbin/cpuctl31
1 files changed, 31 insertions, 0 deletions
diff --git a/bin/cpuctl b/bin/cpuctl
new file mode 100755
index 0000000..d2c2b57
--- /dev/null
+++ b/bin/cpuctl
@@ -0,0 +1,31 @@
+#!/bin/sh
+MIN_FREQUENCY=$(cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_min_freq)
+MAX_FREQUENCY=$(cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_max_freq)
+SCALING_MAX=$(cat /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq)
+SCALING_MIN=$(cat /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq)
+GOVERNOR=$(cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor)
+
+if [ "$1" = "get" ]; then
+ echo "Minimum / Maximum Frequencies: $SCALING_MIN / $SCALING_MAX"
+ echo "Governor: $GOVERNOR"
+elif [ "$1" = "set" ]; then
+ case "$2" in
+ "")
+ echo "Set what? Nothing was changed, exiting...";;
+ "defaults")
+ echo "$MIN_FREQUENCY" | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_min_freq
+ echo "$MAX_FREQUENCY" | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_max_freq;;
+ "minfreq")
+ echo "$MIN_FREQUENCY" | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_max_freq
+ echo "$MIN_FREQUENCY" | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_min_freq;;
+ "maxfreq")
+ echo "$MAX_FREQUENCY" | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_min_freq
+ echo "$MAX_FREQUENCY" | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_max_freq;;
+ "ondemand")
+ echo "ondemand" | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor;;
+ "schedutil")
+ echo "schedutil" | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor;;
+ "performance")
+ echo "performance" | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor;;
+ esac
+fi