110 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/usr/bin/env bash
 | |
| function header_info {
 | |
|     cat <<"EOF"
 | |
|    __________  __  __
 | |
|   / ____/ __ \/ / / /
 | |
|  / /   / /_/ / / / / 
 | |
| / /___/ ____/ /_/ /  
 | |
| \____/_/    \____/   
 | |
| Scaling Governors
 | |
|  
 | |
| EOF
 | |
| }
 | |
| clear
 | |
| header_info
 | |
| set -e
 | |
| while true; do
 | |
|     read -p "View CPU Scaling Governors. Proceed(y/n)?" yn
 | |
|     case $yn in
 | |
|     [Yy]*) break ;;
 | |
|     [Nn]*) exit ;;
 | |
|     *) echo "Please answer yes or no." ;;
 | |
|     esac
 | |
| done
 | |
| clear
 | |
| 
 | |
| show_menu() {
 | |
|     CL=$(echo "\033[m")
 | |
|     GN=$(echo "\033[32m")
 | |
|     BL=$(echo "\033[36m")
 | |
|     YW=$(echo "\033[33m")
 | |
|     fgred=$(echo "\033[31m")
 | |
|     header_info
 | |
|     CK=$(uname -r)
 | |
|     IP=$(hostname -I)
 | |
|     #    MAC=$(cat /sys/class/net/eno1/address)
 | |
|     ACSG=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors)
 | |
|     CCSG=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)
 | |
|     echo -e "${YW}Proxmox IP ${BL}${IP}${CL}"
 | |
| 
 | |
|     echo -e "${YW}MAC Address ${BL}${MAC}${CL}"
 | |
| 
 | |
|     echo -e "${YW}Current Kernel ${BL}${CK}${CL}"
 | |
| 
 | |
|     echo -e "\n${YW}Available CPU Scaling Governors
 | |
|     ${BL}${ACSG}${CL}"
 | |
| 
 | |
|     echo -e "\n${YW}Current CPU Scaling Governor
 | |
|     ${BL}${CCSG}${CL}"
 | |
|     printf "\n ${fgred}Only Select Available CPU Scaling Governors From Above${CL}\n \n"
 | |
|     printf "${BL}**${YW} 1)${GN} Switch to ${BL}conservative${CL}${GN} CPU Scaling Governor ${CL}\n"
 | |
|     printf "${BL}**${YW} 2)${GN} Switch to ${BL}ondemand${CL}${GN} CPU Scaling Governor ${CL}\n"
 | |
|     printf "${BL}**${YW} 3)${GN} Switch to ${BL}userspace${CL}${GN} CPU Scaling Governor ${CL}\n"
 | |
|     printf "${BL}**${YW} 4)${GN} Switch to ${BL}powersave${CL}${GN} CPU Scaling Governor ${CL}\n"
 | |
|     printf "${BL}**${YW} 5)${GN} Switch to ${BL}performance${CL}${GN} CPU Scaling Governor ${CL}\n"
 | |
|     printf "${BL}**${YW} 6)${GN} Switch to ${BL}schedutil${CL}${GN} CPU Scaling Governor ${CL}\n"
 | |
|     printf "\n ${fgred}NOTE: Settings return to default after reboot${CL}\n"
 | |
|     printf "\n Please choose an option from the menu and press [ENTER] or ${fgred}x${CL} to exit."
 | |
|     read opt
 | |
| }
 | |
| clear
 | |
| show_menu
 | |
| while [ "$opt" != "" ]; do
 | |
|     if [ "$opt" = "" ]; then
 | |
|         exit
 | |
|     else
 | |
|         case $opt in
 | |
|         1)
 | |
|             echo "conservative" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
 | |
|             clear
 | |
|             show_menu
 | |
|             ;;
 | |
|         2)
 | |
|             echo "ondemand" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
 | |
|             clear
 | |
|             show_menu
 | |
|             ;;
 | |
|         3)
 | |
|             echo "userspace" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
 | |
|             clear
 | |
|             show_menu
 | |
|             ;;
 | |
|         4)
 | |
|             echo "powersave" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
 | |
|             clear
 | |
|             show_menu
 | |
|             ;;
 | |
|         5)
 | |
|             echo "performance" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
 | |
|             clear
 | |
|             show_menu
 | |
|             ;;
 | |
|         6)
 | |
|             echo "schedutil" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
 | |
|             clear
 | |
|             show_menu
 | |
|             ;;
 | |
|         x)
 | |
|             exit
 | |
|             ;;
 | |
|         \n)
 | |
|             exit
 | |
|             ;;
 | |
|         *)
 | |
|             clear
 | |
|             show_menu
 | |
|             ;;
 | |
|         esac
 | |
|     fi
 | |
| done
 | 
