cpufreq расширение гнома продолжает возвращаться в powersave

Я использую расширение 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 на расширение гнома cpufreq. Избегая этого расширения и используя командную строку, решение ниже будет работать.

1 ответ

Решение

В вашем /etc/init.d/cpufrequtils изменение файла:

GOVERNOR="ondemand"

чтобы:

GOVERNOR="performance"

Оставьте остальную часть строки как есть. Сохраните и перезагрузите компьютер.


TL; DR - старый ответ ниже

Что касается регуляторов скорости Intel:

  • режим ondemand был объявлен устаревшим несколько лет назад.
  • Режим производительности имеет небольшое улучшение по сравнению с режимом энергосбережения.

Тем не менее, ваш процессор может даже не поддерживать выбор между 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

Затем вы заметите снижение загрузки ЦП примерно на 5%, но также заметите, что скорость увеличится с 1000 МГц до 3000 МГц, а температура будет повышаться на ~10 градусов, в зависимости от вашего процессора:


Я заметил, что даже когда установлен режим энергосбережения (как я всегда использую), когда Ubuntu впервые загружается, он работает в режиме производительности в течение 90 секунд, прежде чем в конечном итоге переходит в режим энергосбережения.

Тем не менее после ручной установки регулятора в режим производительности с помощью соответствующей команды выше. Он оставался в режиме производительности в течение 10 минут, что подтверждается с помощью соответствующей команды, приведенной выше, и вдвойне подтверждается хитрым дисплеем выше.


Я оставил губернатора на performance в течение 30 минут, и это работало просто отлично. Некоторым читателям может быть интересно, как выглядит неуклюжий дисплей при выключении регулятора производительности обратно к регулятору powersave по умолчанию:

Загрузка CPU% увеличилась на 5%, но частота процессора упала на 1500 МГц, а температура снизилась примерно на 10 градусов. В целом, я считаю, что режим энергосбережения является лучшим для большинства конфигураций.

Другие вопросы по тегам