Laptop Mode Tools (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Laptop Mode Tools
. Дата последней синхронизации: 7 февраля 2022. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
acpid (Русский)
systemd (Русский)
cpufrequtils (Русский)
Ноутбук
Powertop
TLP
Laptop Mode Tools
— набор инструментов управления энергосбережением на Linux-системах. Это основной способ включить функцию Laptop Mode ядра Linux, которая позволяет жёсткому диску останавливать своё вращение. Кроме того, он позволяет настроить ряд других параметров энергопотребления с помощью простого конфигурационного файла.
В сочетании с
acpid
и
изменением частоты процессора
LMT предоставляет большинству пользователей полный набор средств управления питанием ноутбука.
Установка
Установите
пакет
laptop-mode-tools
AUR
или
laptop-mode-tools-git
AUR
.
Настройка
Настройка выполняется через:
/etc/laptop-mode/laptop-mode.conf
— основной файл конфигурации.
/etc/laptop-mode/conf.d/*
— десятки специфических «модулей».
Каждый модуль может быть явно включен, отключен или установлен в авторежим путём изменения аргумента
CONTROL_*
любого файла в
conf.d/
. LMT попытается включить все модули, для которых
CONTROL_*
установлен в
auto
, если
ENABLE_AUTO_MODULES
включен в
/etc/laptop-mode/laptop-mode.conf
. Из этого правила есть два исключения:
auto-hibernate.conf
и
battery-level-polling.conf
используют переменную
ENABLE_*
вместо
CONTROL_*
.
Чтобы быстро проверить, какие модули включены, отключены или находятся в автоматическом режиме, выполните команду:
$ grep -r '^\(CONTROL\|ENABLE\)_' /etc/laptop-mode/conf.d
После настройки
включите
службу
laptop-mode.service
.
Во всех конфигурационных файлах пары
опция
=
значение
представлены следующим образом:
CONTROL_
чтонибудь
=0/1/auto
— определяет, должен ли соответствующий модуль быть включен.
LM_
чтонибудь
=
значение
— значение опции, когда LMT активен.
NOLM_
чтонибудь
=
значение
— значение опции, когда LMT неактивен.
AC_
чтонибудь
=
значение
— значение опции при работе от сети.
BATT_
чтонибудь
=
значение
— значение опции при работе от батареи.
laptop-mode.conf
Здесь приведён адаптированный перевод комментариев к некоторым настройкам, на которые стоит обратить внимание. Список всех настроек и более подробные комментарии на английском языке вы можете прочитать непосредственно в файле
/etc/laptop-mode/laptop-mode.conf
.
# Включение/выключение LMT
# Выберите 0, чтобы полностью отключить LMT.
ENABLE_LAPTOP_MODE_TOOLS=1

# Выберите 1, если хотите получить дополнительную отладочную информацию, когда
# запускается/останавливается laptop_mode.
VERBOSE_OUTPUT=0

# Выберите 1 если хотите, чтобы лог писался в syslog
LOG_TO_SYSLOG=0

# Запуск в оболочке (shell) в режиме отладки.
# Отладку отдельных модулей можно включить в соответствующих файлах в conf.d
DEBUG=0

# Включать ли LMT при работе от батареи
ENABLE_LAPTOP_MODE_ON_BATTERY=1

# Включать ли LMT при работе от сети
ENABLE_LAPTOP_MODE_ON_AC=0

# Включать ли LMT, пока крышка ноутбука закрыта (даже если он подключён к сети)
ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED=0

# Автоматическое включение некоторых модулей
ENABLE_AUTO_MODULES=1

# Отключить функции, которые могут привести к потере данных, когда уровень
# заряда батареи (в процентах) опустится до этого значения:
MINIMUM_BATTERY_CHARGE_PERCENT=3
Жёсткие диски
Вам нужно установить
hdparm
и/или
sdparm
. Смотрите статью
hdparm
.
Остановка вращения жёсткого диска через
hdparm -S
экономит энергию и уменьшает шум. Используя функцию readahead, вы можете разрешить дискам останавливаться чаще, даже если вы используете компьютер. LMT также может устанавливать
hdparm -B
. Максимальное значение энергосбережения жёсткого диска равно 1, а минимальное — 254. Например, установите значение 254 при работе от сети переменного тока и 20 при работе от батареи. Если вы обнаружили, что работа на ноутбуке часто подвисает в ожидании раскрутки диска, возможно, имеет смысл установить более высокое значение (например, 128), что заставит диск останавливаться реже. Значения
hdparm -S
и
hdparm -B
настраиваются в файле
/etc/laptop-mode/laptop-mode.conf
.
Важно
Слишком частая остановка жёсткого диска может сократить срок его службы. Будьте внимательны при выборе подходящего значения.
С помощью переменной
CONTROL_MOUNT_OPTIONS
(по умолчанию включена) laptop-mode-tools автоматически перемонтирует ваши разделы, добавляя
commit=600,noatime
к параметрам монтирования. Это не позволяет журналированию jbd2 обращаться к диску каждые несколько секунд, вместо этого журнал диска обновляется каждые 10 минут.
Важно
При такой настройке вы можете потерять до 10 минут работы. Также не используйте опцию монтирования
atime
. Вместо этого используйте
noatime
или
relatime
.
Примечание
Не следует включать
CONTROL_MOUNT_OPTIONS
на разделах nilfs2. Подробнее в теме на форуме:
https://bbs.archlinux.org/viewtopic.php?id=134656
Твердотельные накопители
Из
официального FAQ
:
Вопрос:
В моей машине установлен твердотельный диск (SSD). Должен ли я включить какие-либо связанные с дисками части laptop-mode-tools, или они не имеют значения?
Ответ:
Они могут иметь значение, поскольку (а) laptop mode уменьшает количество записей, что увеличивает срок службы SSD, и (б) laptop mode делает записи прерывистыми, что позволяет задействовать механизмы энергосбережения, такие как ALPM. Тем не менее, выигрыш может варьироваться в зависимости от конкретного оборудования. На некоторых устройствах вы вообще не получите никакого выигрыша, а на некоторых выигрыш может быть значительным.
Частота процессора
Необходим драйвер управления частотой процессора. Смотрите
Управление частотой процессора
.
# cpufreq.conf
# Пример для ThinkPad T40/T42/T60
#
CONTROL_CPU_FREQUENCY=1
BATT_CPU_MAXFREQ=fastest
BATT_CPU_MINFREQ=slowest
BATT_CPU_GOVERNOR=ondemand
BATT_CPU_IGNORE_NICE_LOAD=1
LM_AC_CPU_MAXFREQ=fastest
LM_AC_CPU_MINFREQ=slowest
LM_AC_CPU_GOVERNOR=ondemand
LM_AC_CPU_IGNORE_NICE_LOAD=1
NOLM_AC_CPU_MAXFREQ=fastest
NOLM_AC_CPU_MINFREQ=slowest
NOLM_AC_CPU_GOVERNOR=ondemand
NOLM_AC_CPU_IGNORE_NICE_LOAD=0
CONTROL_CPU_THROTTLING=0
Устройства и шины
Intel SATA
Включите функцию Aggressive Link Power Management контроллера Intel SATA AHCI, чтобы перевести дисковый канал в режим очень низкого энергопотребления при отсутствии дисковых операций ввода-вывода.
# intel-sata-powermgmt.conf
# Пример для ThinkPad T40/T42/T60
#
DEBUG=0
CONTROL_INTEL_SATA_POWER=1
BATT_ACTIVATE_SATA_POWER=1
LM_AC_ACTIVATE_SATA_POWER=1
NOLM_AC_ACTIVATE_SATA_POWER=0
Примечание
Подробности о настройке можно почитать в неплохо задокументированном файле
/etc/laptop-mode/conf.d/intel-sata-powermgmt.conf
.
Автоматическое отключение USB
Совет
Эта функциональность перемещена из модуля
usb-autosuspend
в модуль
runtime-pm
. Не забудьте заменить usb-autosuspend на runtime-pm в /lib/udev/rules.d/99-laptop-mode.rules.
# runtime-pm.conf
# Пример для ThinkPad T40/T42/T60
#
DEBUG=0
CONTROL_RUNTIME_AUTOSUSPEND=1
BATT_SUSPEND_RUNTIME=1
LM_AC_SUSPEND_RUNTIME=1
NOLM_AC_SUSPEND_RUNTIME=1
AUTOSUSPEND_TIMEOUT=2
Примечание
Подробности о настройке можно почитать в
/etc/laptop-mode/conf.d/runtime-pm.conf
. Если у вас есть USB-устройства, которые вы постоянно используете (например, USB-мышь), внесите их в чёрный список для предотвращения их приостановки.
Экран и графика
Яркость LCD
На некоторых ноутбуках доступные значения яркости можно узнать следующей командой:
$ cat /proc/acpi/video/VID/LCD/brightness
ThinkPad T40/T42
На ноутбуках
ThinkPad
T40/T42 минимальную и максимальную яркость можно узнать так:
$ cat /sys/class/backlight/acpi_video0/brightness
$ cat /sys/class/backlight/acpi_video0/max_brightness
# lcd-brightness.conf
# Пример для ThinkPad T40/T42
#
DEBUG=0
CONTROL_BRIGHTNESS=1
BATT_BRIGHTNESS_COMMAND="echo 0"
LM_AC_BRIGHTNESS_COMMAND="echo 7"
NOLM_AC_BRIGHTNESS_COMMAND="echo 7"
BRIGHTNESS_OUTPUT="/sys/class/backlight/thinkpad_screen/brightness"
ThinkPad T60
На ноутбуках
ThinkPad
T60 минимальную и максимальную яркость можно узнать так:
$ cat /sys/class/backlight/thinkpad_screen/max_brightness
$ cat /sys/class/backlight/thinkpad_screen/brightness
# lcd-brightness.conf
# Пример для ThinkPad T60
#
DEBUG=0
CONTROL_BRIGHTNESS=1
BATT_BRIGHTNESS_COMMAND="echo 0"
LM_AC_BRIGHTNESS_COMMAND="echo 7"
NOLM_AC_BRIGHTNESS_COMMAND="echo 7"
BRIGHTNESS_OUTPUT="/sys/class/backlight/acpi_video0/brightness"
Примечание
Подробности о настройке можно почитать в неплохо задокументированном файле
/etc/laptop-mode/conf.d/lcd-brightness.conf
.
Затемнение терминала
# terminal-blanking.conf
# Пример для ThinkPad T40/T42/T60
#
DEBUG=0
CONTROL_TERMINAL=1
# Файлы терминалов, на которые распространяются настройки. (Достаточно указать
# один терминал — настройки сработают для всех консолей.)
TERMINALS="/dev/tty1"
# BLANK — таймаут затемнения в минутах; POWERDOWN — таймаут отключения питания в минутах.
# Отсчёт таймаута POWERDOWN начинается после BLANK, то есть BLANK_MINUTES=1 и POWERDOWN_MINUTES=2
# означают, что экран отключится через 3 минуты неактивности.
# Значение 0 отключает таймаут.
BATT_TERMINAL_BLANK_MINUTES=1
BATT_TERMINAL_POWERDOWN_MINUTES=2
LM_AC_TERMINAL_BLANK_MINUTES=10
LM_AC_TERMINAL_POWERDOWN_MINUTES=10
NOLM_AC_TERMINAL_BLANK_MINUTES=10
NOLM_AC_TERMINAL_POWERDOWN_MINUTES=10
Примечание
Подробности о настройке можно почитать в неплохо задокументированном файле
/etc/laptop-mode/conf.d/terminal-blanking.conf
.
Сеть
Ethernet
# ethernet.conf
# Пример для ThinkPad T40/T42/T60
#
DEBUG=0
CONTROL_ETHERNET=1
LM_AC_THROTTLE_ETHERNET=0
NOLM_AC_THROTTLE_ETHERNET=0
# Полное отключение Wake-on-LAN, даже при работе от сети
DISABLE_WAKEUP_ON_LAN=1
# Полное отключение Ethernet при работе от батареи. Полезно, если
# при работе от батареи используется только беспроводная сеть
DISABLE_ETHERNET_ON_BATTERY=1
ETHERNET_DEVICES="eth0"
Wireless LAN
Управление питанием беспроводного интерфейса зависит от конкретного оборудования, поэтому настраивать их немного сложнее. В зависимости от беспроводного чипсета, настройки управляются в одном из следующих трёх файлов:
/etc/laptop-mode/conf.d/wireless-power.conf
— базовый метод экономии энергии (с помощью команды "iwconfig wlan0 power on/off"). Это относится к большинству чипсетов (то есть ко всем, кроме чипсетов Intel, перечисленных ниже).
/etc/laptop-mode/conf.d/wireless-ipw-power.conf
— для чипсетов Intel, управляемых старым драйвером ipw. Это относится к IPW3945, IPW2200 и IPW2100. В настоящее время (по состоянию на LMT 1.55-1) используется iwpriv для IPW3945 и комбинация настроек iwconfig и iwpriv для IPW2100 и IPW220. Подробности смотрите в файле
/usr/share/laptop-mode-tools/modules/wireless-ipw-power
. (обратите внимание, что ipw3945 больше не используется, смотрите ниже)
/etc/laptop-mode/conf.d/wireless-iwl-power.conf
— для чипсетов Intel, управляемых модулями iwl4965, iwl3945 и iwlagn (последний поддерживает чипсеты 4965, 5100, 5300, 5350, 5150, 1000 и 6000)
Активация всех трёх не должна представлять особой проблемы, поскольку LMT определяет модуль, используемый интерфейсом, и действует соответствующим образом.
Указанные выше поддерживаемые модули для каждого файла взяты непосредственно из LMT. Однако, похоже, это немного устарело, поскольку текущее ядро 2.6.34 больше не предоставляет модули ipw3945 и iwl4965 (чипсет 3945 использует iwl3945, а 4965 — общий модуль iwlagn). Это приведено здесь только для информации, так как это не влияет (или не должно влиять) на работу LMT.
Есть известная проблема с некоторыми чипсетами, работающими с модулем iwlagn (а именно, чипсет 5300 и, возможно, другие). На этих чипсетах следующие настройки
/etc/laptop-mode/conf.d/wireless-iwl-power.conf
:
IWL_AC_POWER
IWL_BATT_POWER
игнорируются, потому что файл
/sys/class/net/wlan*/device/power_level
не существует. Вместо этого будет использован стандартный метод (через
iwconfig wlan0 power on/off
).
Аудио
AC97
# ac97-powersave.conf
# Пример для ThinkPad T40/T42/T60
#
DEBUG=0
CONTROL_AC97_POWER=1
Intel HDA
# intel-hda-powersave.conf
# Пример для ThinkPad T40/T42/T60
#
DEBUG=0
CONTROL_INTEL_HDA_POWER=1
BATT_INTEL_HDA_POWERSAVE=1
LM_AC_INTEL_HDA_POWERSAVE=1
NOLM_AC_INTEL_HDA_POWERSAVE=0
# Таймаут (в секундах) перед включением режима экономии энергии.
INTEL_HDA_DEVICE_TIMEOUT=10
# Значение 1 приведёт к полному отключению контроллера по таймауту,
# но это может привести к щелчкам в динамиках
INTEL_HDA_DEVICE_CONTROLLER=0
Решение проблем
Laptop-mode-tools не обрабатывает события
Установите
пакет
acpid
и
включите
службу
acpid.service
.
Если это не помогло, просмотрите файлы конфигурации laptop-mode и убедитесь, что для службы, которую вы хотите включить, установлено значение 1. Многие службы (включая cpufreq control) по умолчанию установлены на "auto", что может не включить их.
Проблемы с неработающим bluetooth при запуске ноутбука от батареи решаются отключением runtime-pm.
USB-мышь засывает спустя 5 секунд при работе от батареи
Сперва найдите ID нужного устройства (выглядит примерно так:
046d:c534
):
$ lsusb
Добавьте его в переменную
AUTOSUSPEND_DEVID_BLACKLIST
в файле
/etc/laptop-mode/conf.d/runtime-pm.conf
, например:
/etc/laptop-mode/conf.d/runtime-pm.conf
...
AUTOSUSPEND_DEVID_BLACKLIST="046d:c534"
...
Можно указать несколько ID через пробел.
Примечание
Не забудьте
перезапустить
службу
laptop-mode.service
после изменения настроек. Может также понадобиться переподключить USB-устройство.
Проблемы с драйвером NVIDIA
Чёрный экран в KDE
Когда включен режим ноутбука, KDE не запускается. Причина в том, что стандартный менеджер отображения KDE (SDDM) запускается раньше драйвера NVIDIA. Чтобы этого не произошло, удалите
параметр ядра
nomodeset
.
Замедлилась загрузка после включения laptop-mode.service
Как упоминалось ранее, laptop-mode-tools влияет на драйвер NVIDIA. Добавление
параметра ядра
nvidia-drm.modeset=1
значительно сокращает время загрузки.
Смотрите также
Laptop Mode Tools wiki
FAQ
Mailing List