embeded/raspberry pi2016. 9. 12. 15:36

$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

ondemand


cpufrequtils를 삭제후 리부팅 하니 기본적으로 ondemand 인 것 같고


$ ll /etc/init.d/cpufrequtils

-rwxr-xr-x 1 root root 2489 May  6  2012 cpufrequtils

위의 경로에서 내용을 바꾸어 주면 기본 거버너가 변경/설정이 가능 한 듯.


$ cat /etc/init.d/cpufrequtils

#!/bin/sh

### BEGIN INIT INFO

# Provides:       cpufrequtils

# Required-Start: $remote_fs loadcpufreq

# Required-Stop:

# Default-Start:  2 3 4 5

# Default-Stop:

# Short-Description: set CPUFreq kernel parameters

# Description: utilities to deal with CPUFreq Linux

#       kernel support

### END INIT INFO

#


DESC="CPUFreq Utilities"


PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

CPUFREQ_SET=/usr/bin/cpufreq-set

CPUFREQ_INFO=/usr/bin/cpufreq-info

CPUFREQ_OPTIONS=""


# use lsb-base

. /lib/lsb/init-functions


# Which governor to use. Must be one of the governors listed in:

#   cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

#

# and which limits to set. Both MIN_SPEED and MAX_SPEED must be values

# listed in:

#   cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

# a value of 0 for any of the two variables will disabling the use of

# that limit variable.

#

# WARNING: the correct kernel module must already be loaded or compiled in.

#

# Set ENABLE to "true" to let the script run at boot time.

#

# eg:   ENABLE="true"

#       GOVERNOR="ondemand"

#       MAX_SPEED=1000

#       MIN_SPEED=500


ENABLE="true"

GOVERNOR="ondemand"

MAX_SPEED="0"

MIN_SPEED="0"


check_governor_avail() {

        info="/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors"

        if [ -f $info ] && grep -q "\<$GOVERNOR\>" $info ; then

                return 0;

        fi

        return 1;

}


[ -x $CPUFREQ_SET ] || exit 0


if [ -f /etc/default/cpufrequtils ] ; then

        . /etc/default/cpufrequtils

fi


# if not enabled then exit gracefully

[ "$ENABLE" = "true" ] || exit 0


if [ -n "$MAX_SPEED" ] && [ $MAX_SPEED != "0" ] ; then

        CPUFREQ_OPTIONS="$CPUFREQ_OPTIONS --max $MAX_SPEED"

fi


if [ -n "$MIN_SPEED" ] && [ $MIN_SPEED != "0" ] ; then

        CPUFREQ_OPTIONS="$CPUFREQ_OPTIONS --min $MIN_SPEED"

fi


if [ -n "$GOVERNOR" ] ; then

        CPUFREQ_OPTIONS="$CPUFREQ_OPTIONS --governor $GOVERNOR"

fi


CPUS=$(cat /proc/stat|sed -ne 's/^cpu\([[:digit:]]\+\).*/\1/p')

RETVAL=0

case "$1" in

        start|force-reload|restart|reload)

                log_action_begin_msg "$DESC: Setting $GOVERNOR CPUFreq governor"

                if check_governor_avail ; then

                        for cpu in $CPUS ; do

                                log_action_cont_msg "CPU${cpu}"

                                $CPUFREQ_SET --cpu $cpu $CPUFREQ_OPTIONS 2>&1 > /dev/null || \

                                        RETVAL=$?

                        done

                        log_action_end_msg $RETVAL ""

                else

                        log_action_cont_msg "disabled, governor not available"

                        log_action_end_msg $RETVAL

                fi

                ;;

        stop)

                ;;

        *)

                echo "Usage: $0 {start|stop|restart|reload|force-reload}"

                exit 1

esac


exit 0 


Posted by 구차니