Compare commits

...

2 Commits

Author SHA1 Message Date
e0e7cec76e README.md 2025-09-09 17:28:58 +02:00
8fbe127628 Add cpupower as default tool 2025-09-09 17:28:29 +02:00
2 changed files with 17 additions and 26 deletions

View File

@ -56,6 +56,6 @@ sudo make uninstall
## Dependencies ## Dependencies
* bash * bash
* cpufrequtils * cpupower or cpufrequtils
* watch * watch

37
freqcpu
View File

@ -11,30 +11,11 @@ governor=$(cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor 2> /dev/nul
#governor=powersave #governor=powersave
# Check dependencies # Check dependencies
path_check="/usr/bin /bin /usr/local/bin $HOME/.local/bin $(brew --prefix 2> /dev/null)/bin" dependencies_not_found=$(which cpupower cpufreq-set | head -1)
dependencies="dirname basename cpufreq-set expr cat watch grep" detected=$(basename ${dependencies_not_found} 2> /dev/null)
dependencies_found=""
dependencies_not_found=""
for checkPath in $path_check ; do
for checkDependencies in $dependencies ; do
if [ -f $checkPath/$checkDependencies ] ; then
dependencies_found="$dependencies_found $checkDependencies"
fi
done
done
for notFound in $dependencies ; do
check_found_one=$(echo $dependencies_found | grep " $notFound")
check_found_two=$(echo $dependencies_found | grep "$notFound ")
if_not_found="$check_found_one$check_found_two"
if [ -z "$if_not_found" ] ; then
dependencies_not_found="$dependencies_not_found $notFound"
fi
done
# Show if all tools are installed # Show if all tools are installed
if [ -z "$dependencies_not_found" ] ; then if [ -z "$dependencies_not_found" ] ; then
echo > /dev/null echo "$(basename $0): Dependency not found: cpupower or cpufreq-set (cpufrequtils)"
else
echo "$(basename $0): Some required tools are not installed:$dependencies_not_found"
exit 1 exit 1
fi fi
@ -55,7 +36,7 @@ function help() {
if [ -f ${config_file} ] ; then if [ -f ${config_file} ] ; then
source ${config_file} source ${config_file}
fi fi
echo "$(basename $0) - limit CPU frequency" echo "$(basename $0) - limit CPU frequency (${detected})"
echo "" echo ""
echo "* Config:" echo "* Config:"
echo " freq_min: ${freq_min}" echo " freq_min: ${freq_min}"
@ -109,7 +90,12 @@ if [ "${1}" == "-d" ] ; then
while [ ${frecuency} -eq 0 ] ; do while [ ${frecuency} -eq 0 ] ; do
while [ ${num_cpu} -le ${num_cpus_total} ] ; do while [ ${num_cpu} -le ${num_cpus_total} ] ; do
echo "set CPU ${num_cpu} freq (${freq_min}/${freq_max}) (governor: ${governor})" echo "set CPU ${num_cpu} freq (${freq_min}/${freq_max}) (governor: ${governor})"
if [ "${detected}" == "cpufreq-set" ] ; then
cpufreq-set --cpu ${num_cpu} --min ${freq_min} --max ${freq_max} --governor ${governor} cpufreq-set --cpu ${num_cpu} --min ${freq_min} --max ${freq_max} --governor ${governor}
fi
if [ "${detected}" == "cpupower" ] ; then
cpupower --cpu ${num_cpu} frequency-set --min ${freq_min} --max ${freq_max} --governor ${governor}
fi
num_cpu=$(expr ${num_cpu} + 1) num_cpu=$(expr ${num_cpu} + 1)
done done
sleep 3600 sleep 3600
@ -126,7 +112,12 @@ elif [ "${1}" == "-r" ] ; then
num_cpu=0 num_cpu=0
while [ ${num_cpu} -le ${num_cpus_total} ] ; do while [ ${num_cpu} -le ${num_cpus_total} ] ; do
echo "set CPU ${num_cpu} freq (${freq_min}/${freq_max}) (governor: ${governor})" echo "set CPU ${num_cpu} freq (${freq_min}/${freq_max}) (governor: ${governor})"
if [ "${detected}" == "cpufreq-set" ] ; then
cpufreq-set --cpu ${num_cpu} --min ${freq_min} --max ${freq_max} --governor ${governor} cpufreq-set --cpu ${num_cpu} --min ${freq_min} --max ${freq_max} --governor ${governor}
fi
if [ "${detected}" == "cpupower" ] ; then
cpupower --cpu ${num_cpu} frequency-set --min ${freq_min} --max ${freq_max} --governor ${governor}
fi
num_cpu=$(expr ${num_cpu} + 1) num_cpu=$(expr ${num_cpu} + 1)
done done
elif [ "${1}" == "-f" ] ; then elif [ "${1}" == "-f" ] ; then