我正在使用 cpufreq gnome 扩展。我手动将其设置为性能,大约一分钟后,它又恢复为省电模式。有人知道幕后发生了什么吗?
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
错误似乎出在 17.10 中,indicator-cpu 被 cpufreq gnome 扩展替换。通过避免使用此扩展并使用命令行,下面的解决方案将起作用。
答案1
在您的/etc/init.d/cpufrequtils
文件更改中:
GOVERNOR="ondemand"
到:
GOVERNOR="performance"
保留其余部分。保存并重新启动。
TL;DR - 以下是旧答案
就英特尔调速器而言:
- 一经请求模式几年前就被弃用了。
- 表现模式几乎没有改进节能模式。
也就是说,您的处理器甚至可能不支持在performance
和之间进行选择powersave
。
要查看可用的速度调节器,请使用以下命令:
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave
如果您有多个调控器,您可以使用以下命令检查当前正在使用的调控器:
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
powersave
将处理器更改为表现模式使用:
$ echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
performance
然后您会注意到 CPU% 利用率下降了约 5%,但同时会注意到速度会从约 1000 MHz 增加到 3000 MHz,并且温度会飙升约 10 度,具体取决于您的处理器:
我注意到,即使设置为节能Ubuntu 首次启动时,它以以下模式运行(我一直使用这种模式)表现模式持续 90 秒,然后最终进入节能模式。
尽管如此,在使用上述适当的命令手动将调节器设置为性能模式后,它已经保持在性能模式 10 分钟,这可以通过使用上述适当的命令进行确认,并通过上述 conky 显示进行双重确认。
我让调速器打开了performance
30 分钟,它工作得很好。一些读者可能会对关闭时 conky 显示屏的样子感兴趣表现州长恢复默认节能州长:
CPU% 利用率飙升了 5%,但 CPU 频率下降了 1500 MHz,温度下降了约 10 度。总体而言,我认为节能模式对于大多数配置来说都是最佳的。