Archived
文档结构整理
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
#!/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="powersave"
|
||||
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
|
||||
Reference in New Issue
Block a user