Compare commits

..

No commits in common. "e0e7cec76ef3b0905231bf3efdc8e80fd117a85d" and "a178b1ce081d616d2d93fdc612c7b42e711409c2" have entirely different histories.

2 changed files with 26 additions and 17 deletions

View File

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

37
freqcpu
View File

@ -11,11 +11,30 @@ governor=$(cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor 2> /dev/nul
#governor=powersave #governor=powersave
# Check dependencies # Check dependencies
dependencies_not_found=$(which cpupower cpufreq-set | head -1) path_check="/usr/bin /bin /usr/local/bin $HOME/.local/bin $(brew --prefix 2> /dev/null)/bin"
detected=$(basename ${dependencies_not_found} 2> /dev/null) dependencies="dirname basename cpufreq-set expr cat watch grep"
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 "$(basename $0): Dependency not found: cpupower or cpufreq-set (cpufrequtils)" echo > /dev/null
else
echo "$(basename $0): Some required tools are not installed:$dependencies_not_found"
exit 1 exit 1
fi fi
@ -36,7 +55,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 (${detected})" echo "$(basename $0) - limit CPU frequency"
echo "" echo ""
echo "* Config:" echo "* Config:"
echo " freq_min: ${freq_min}" echo " freq_min: ${freq_min}"
@ -90,12 +109,7 @@ 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
@ -112,12 +126,7 @@ 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