Power management/Guide

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Power management/Guide and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎日本語 • ‎한국어 • ‎русский • ‎中文(中国大陆)‎

En los últimos años, la gestión de la energía ha sido una de las características diferenciadoras en la búsqueda del equipo portátil perfecto. El sistema operativo ofrece soporte a varias funcionalidades. En esta guía, cubrimos cómo configurar una instalación Gentoo de modo que gestione los recursos que tengan un alto consumo de forma flexible y automática.

Introducción

Acerca de este documento

Este documento describe cómo configurar las características de gestión de la energía en equipos portátiles. Aunque alguna de la información contenida en esta guía se puede aplicar a la gestión de la energía en equipos servidor, este documento no está orientado a este tipo de equipos. Por favor, sea cuidadoso cuando aplique esto a un sistema que no sea portátil.

Dentro de este documento, lo primero será centrarse en las herramientas para el modo portátil ya que ofrece un conjunto completo de funcionalidades. Sin embargo, también haremos referencia a otras herramientas que podrían ofrecer un enfoque más detallado en los ajustes individuales. En estos casos, se debe deshabilitar la característica de las herramientas para el modo portátil de modo que ambas herramientas no rivalizan por el control de los mismos recursos.

Acerca de laptop_mode

El ajuste laptop_mode es un ajuste de configuración dentro del núcleo que optimiza la E/S permitiendo que los discos giren más despacio (y no se arranquen de nuevo justo después de operaciones que están en cola).

Acerca de laptop-mode-tools

Las herramientas del modo portátil (Laptop Mode Tools) se incluyen en un paquete de software (app-laptop/laptop-mode-tools) que permite al usuario optimizar las funciones de ahorro de energía. Permite la gestión del ajuste laptop_mode setting en el núcleo Linux y dispone de características adicionales que permiten el ajuste de otras características relacionadas con la energía dentro del sistema.

Configuración del núcleo Linux

Configuración mínima del núcleo

Existen diferentes fuentes del núcleo en Portage. Recomendamos utilizar sys-kernel/gentoo-sources, sin embargo, si se desea soporte avanzado para hibernación, se podría necesitar sys-kernel/tuxonice-sources. Para habilitar la características propias de la gestión de la energía en el núcleo Linux, se deben habilitar los siguientes ajustes:

KERNEL Configuración mínima para la gestión de la energía
Power management and ACPI options --->
  -*- Device power management core functionality
  [*] ACPI (Advanced Configuration and Power Interface) Support --->
    <*> AC Adapter
    <*> Battery
    -*- Button
    -*- Video
    <*> Fan
    <*> Processor
    <*> Thermal Zone
    [*] Power Management Timer Support
  
  [*] CPU Frequency scaling --->
    Default CPUFreq governor (ondemand)  --->
    [*] CPU Frequency scaling
    -*-   'performance' governor
    <*>   'powersave' governor
    <*>   'userspace' governor for userspace frequency scaling
    -*-   'ondemand' cpufreq policy governor
    <*>   'conservative' cpufreq governor
    <*> ACPI Processor P-States driver

No se debe olvidar habilitar el controlador de escalado de frecuencia de la UCP. Para los procesadores Intel core de la serie SandyBridge y superiores los gobernadores userspace, ondemand y conservative no son necesarios, se debería seleccionar performance por defecto e Intel P state control se debería seleccionar en lugar de ACPI Processor P-States driver. [1]

Para una descripción más detallada consultar el artículo sobre el núcleo y la gestión de energía.

Construir e instalar el nuevo núcleo (si es necesario) y reiniciar.

Usar las herramientas para modo portátil (Laptop Mode Tools)

Instalación

No sorprende saber que la instalación del software Laptop mode tools se realiza de forma fácil mediante:

root #emerge --ask app-laptop/laptop-mode-tools
.

Si embargo este paquete acepta características adicionales u opcionales a través de la configuración con ajustes USE. Por ello, en primer lugar echaremos un vistazo a los ajustes USE permitidos y qué significan para el paquete.

Ajuste USE Descripción Se sugiere su uso cuando...
acpi Depender de sys-power/acpid, de modo que los cambios en el sistema se capturan y las características de ahorro de energía se habilitan o deshabilitan de forma automática. El portátil no es tan antiguo (del año 2003 y más tarde).
apm Depender de sys-apps/apmd de modo que los cambios en el sistema se capturan y las características de ahorro de energía se habilitan o deshabilitan de forma automática. El portátil es muy antiguo.
bluetooth Depender de net-wireless/bluez, se habilita laptop-mode-tools para gestionar los ajustes de bluetooth (se habilita o deshabilita el servicio basándose en la disponibilidad de la batería) El portátil (y el núcleo) ofrece soporte para bluetooth.
scsi Depender de sys-apps/sdparm, se habilita laptop-mode-tools para gestionar los parámetros de disco SCSI (no SATA). El portátil utiliza discos SCSI.

Se puede comprobar que existen dos ajustes USE que parecen incompatibles: acpi y apm. ¿Qué ocurre aquí?

  • El ajuste USE apm habilita el soporte de la Gestión Avanzada de Energía, y los anteriores (al año 2000) estándares de las características para la gestión de la energía dentro del sistema.
  • El ajuste USE acpi habilita el soporte para la Configuración e Interfaz de Energía Avanzadas , el sucesor de APM. Todos los portátiles modernos ofrecen soporte para ACPI.

Dependiendo del sistema, se necesitará habilitar acpi o apm. En el resto de esta guía se asume que el portátil es lo suficientemente actual para poder utilizar ACPI.

Así, con el conjunto de ajustes USE, instalar laptop-mode-tools:

root #emerge --ask laptop-mode-tools

Configuración

El hecho de tener laptop-mode-tools instalado en el sistema no habilita de forma automática las características de ahorro de energía que se pueden necesitar. Para configurar el paquete, en primer lugar se debe echar un vistazo a /etc/laptop-mode/laptop-mode.conf. Este el el fichero de configuración principal del paquete y está muy bien descrito (mediante comentarios).

Sin embargo, este no es el único fichero de configuración con el que se trabaja. El paquete laptop-mode-tools soporta añadidos (plugins o módulos) que tienen su propio fichero o ficheros de configuración. Estos ficheros se localizan en /etc/laptop-mode/conf.d y se nombran del mismo modo que el módulo que representas (por ejemplo intel-sata-powermgmt.conf).

Uno de los ajustes más importantes en todos los ficheros de configuración consiste en indicar si el paquete laptop-mode-tools debería gobernar un ajuste en particular o no. Esto es importante si se quiere combinar laptop-mode-tools con otros servicios de gestión de la energía como cpufreqd. En este caso se necesita definir CONTROL_CPU_FREQUENCY=0:

ARCHIVO /etc/laptop-mode/conf.d/cpufreq.conf
CONTROL_CPU_FREQUENCY=0

Las siguientes secciones ayudan al usuario a configurar laptop-mode-tools para que se ajuste a sus necesidades específicas. Cuando se termine, arrancar el servicio laptop_mode y asegurarse de que se arranque en cada inicio del sistema.

Con OpenRC:

root #rc-service laptop_mode start
root #rc-update add laptop_mode default

Con systemd:

root #systemctl laptop-mode.service enable --now

Cómo funciona laptop-mode-tools

Cuando se corre el servicio laptop_mode, el software comprobará en qué estado se encuentra el sistema. Los estados se definen como:

  • Battery, se activa cuando el sistema está funcionando con energía procedente de la batería. Los ficheros de configuración utilizan el prefijo BATT_ para los ajustes relacionados con este estado
  • AC, se activa cuando el sistema está funcionando con energía procedente de la red. Los ficheros de configuración utilizan el prefijo AC_ para los ajustes relacionados con este estado
  • Laptop Mode, se activa cuando se habilita el modo portátil. Los ficheros de configuración utilizan el prefijo LM_ para los ajustes relacionados con este estado
  • No Laptop Mode, se activa cuando se deshabilita el modo portátil. Los ficheros de configuración utilizan el prefijo NOLM_ para los ajustes relacionados con este estado

Los prefijos AC/BATT_ y LM/NOLM_ se pueden combinar para obtetener un prefijo AC_LM_.

Cuando se arranca el servicio laptop_mode, conmutará los modos basados en los eventos que sucedan (y, por supuesto, se basará en los ajustes de la configuración). Por ejemplo, el ajuste ENABLE_LAPTOP_MODE_ON_BATTERY=1 asegurará que la herramientas del modo portátil cambian a laptop mode cuando se utilice la batería. En este caso, se utlizarán los ajustes que comienzan por LM_, LM_BATT_, BATT_LM_ y BATT_.

Para asegurarse de que los ajustes no interfieren, no se permitirán que se solapen. En el siguiente ejemplo, el primer conjunto (para CPU_MAXFREQ) es valido, sin embargo, el segundo (para CPU_GOVERNOR) no lo es.

CÓDIGO Ajustes incompatibles
## Conjunto válido
BATT_CPU_MAXFREQ=fastest
LM_AC_CPU_MAXFREQ=fastest
NOLM_AC_CPU_MAXFREQ=fastest
  
## Conjunto inválido
BATT_CPU_MINFREQ=fastest
LM_AC_CPU_MINFREQ=fastest
# Lo siguiente incluye AC y BATT, sin embargo BATT ya está definido
NOLM_CPU_MINFREQ=fastest

Configurar la gestión de la frecuencia de la CPU

El soporte para la gestión de la gestión de la frecuencia de la CPU en las herramientas del modo portátil permiten el cambio de frecuencias. Soporta el ajuste del gobernador de la frecuencia de la CPU y las frecuencias máxima y mínima. El fichero de configuración que se utiliza en este caso es /etc/laptop-mode/conf.d/cpufreq.conf

El Gobernador de frecuencia de la CPU es una directriz del nivel del núcleo que define cómo éste seleccionará la frecuencia de la CPU. Ya se seleccionaron los gobernadores que se utilizaron en la configuración del núcleo anteriormente. Recapitularemos:

  • performance siempre selecciona la máxima frecuencia
  • powersave siempre selecciona la mínima frecuencia
  • userspace no selecciona nada en particular, por el contrario, deja que decida el usuario (o cualquier proces que el usuario esté corriendo el cual decidirá en nombre del usuario)
  • ondemand escalará la frecuencia de la CPU hasta la máxima cuando haya carga
  • conservative escalará la frecuencia de la CPU de forma gradual cuando haya carga

Cuando se conmuta entre red eléctrica y batería o modo portátil (o no), se selecciona el gobernador apropiado (así como su mínima y máxima frecuencia).

Configurar el brillo de la pantalla

Con /etc/laptop-mode/conf.d/lcd-brightness.conf, las herramientas del modo portátil pueden gestionar el brillo de la pantalla LCD.

El fichero utiliza actualmente /proc/acpi/video/VID/LCD/brightness (incidencia 499544) para ajustar los valores para el brillo de la pantalla. Los núcleos actuales ya no ofrecen esto, en su lugar se necesitará ajustar esto en /sys/class/backlight/acpi_video0/brightness.

Los valores posibles que se pueden utlizar están entre cero y el valor de /sys/class/backlight/acpi_video0/max_brightness, siendo cero el valor más bajo para el brillo.

Configurar otros servicios

Una característica interesante de laptop-mode-tools es el soporte que ofrece a la recarga de algunos servicios en particular (por ejemplo la bitácora del sistema) después de conmutar su fichero de configuración. Esto se gestiona a través de /etc/laptop-mode/conf.d/configuration-file-control.conf

Si se habilita, la aplicación laptop_mode conmutará el o los ficheros de configuración de los servicios mencionados con el mismo fichero, pero con un sufijo -nolm-ac , -lm-ac o -batt. Entonces enviará una señal o recargará los servicios apropiados de modo que puedan utilizar el nuevo fichero de configuración.

Usar cpufreqd

Advertencia
El paquete sys-power/cpufreqd es obsoleto y se ha eliminado del árbol de Portage. Todavía se puede utilizar el paquete sys-power/ncpufreqd para núcleos 2.6.x.

Instalación

La aplicación cpufreqd permite al usuario gestionar la frecuencia de la CPU con un enfoque más granular que el que ofrece laptop-mode-tools. Sin embargo, antes de entrar en detalles sobre la instalación de cpufreqd, echemos un vistazo a los ajustes USE que soporta.

Ajuste USE Descripción Se sugiere su uso cuando...
acpi Habilita el soporte para ACPI, permitiendo que se notifique a cpufreqd acerca de eventos específicos así como la gestión de la energía a través del interfaz ACPI. El portátil no es tan antiguo (del año 2003 y más tarde).
apm Habilita el soporte para APM, permitiendo que se notifique a cpufreqd acerca de eventos específicos así como la gesión de la energía a través del interfaz APM. El portátil es muy antiguo
lm_sensors Habilita el soporte para los sensores hardware de Linux (a través del paquete sys-apps/lm_sensors), permitiendo conmutar entre perfiles basándose en los resultados que ofrecen los sensores hardware. Se utilicen eventos avanzados a través de lm_sensors.
nforce2 Habilita soporte para NForce, permitiendo a cpufreqd cambiar el reloj FSB de NForce FSB y la frecuencia de la tarjeta de vídeo. Se dispone de una tarjeta gráfica NVidia con chipset NForce.
nvidia Habilita soporte para la configuración de la tarjeta gráfica NVidia (a través del interfaz nvclock de NVidia), permitiendo a cpufreqd cambiar la frecuencia de la tarjeta de vídeo de las tarjetas gráficas NVidia. Se dispone de una tarjeta gráfica NVidia.
pmu Habilita el complemento Power Management Unit de cpufreqd. Esto permite que el software pueda sondear la interfaz de administración de la energía del núcleo Linux, obteniendo información más detallada sobre la carga de la batería. El portátil no ofrece soporte para ACPI ni para APM.

Los ajustes USE acpi, apm y pmu se solapan, de modo que solo uno de ellos puede estar activo. Si el portátil es lo suficientemente reciente, la mejor apuesta es acpi. Si no, apm ofrece todo lo que se necesita. Si no se puede utilizar APM, pruebe con pmu.

Cuando se hayan configurado los ajustes USE, es el momento de instalar cpufreqd.

root #emerge --ask cpufreqd

Configuración

La aplicación cpufreqd monitoriza el estado del sistema mediante varios complementos. Basándose en las sugerencias que se reciben sobre estos complementos, se ajusta la directriz para gobernar la frecuencia de la CPU.

cpufreqd se puede configurar a través del fichero /etc/cpufreqd.conf. Contiene tres secciones diferenciadas:

  1. La sección [General]...[/General] contiene información general de configuración.
  2. La sección [Profile]...[/Profile] define las directrices a las que el demonio de cpufreqd conmutará. Esta sección es muy similar a la información que se utiliza para ajustar manualmente la directriz de la frecuencia de la CPU utilizando cpufreq-set.
  3. La sección [Rule]...[/Rule] es la bestia de carga del demonio cpufreqd, la cual define lo que el demonio hace cuando conmuta a un perfil distinto.

Echar un vistazo a la regla ejemplo.

ARCHIVO /etc/cpufreqd.confRegla ejemplo de cpufreqd
[...]
  
[Profile]
name=On Demand High
minfreq=40%
maxfreq=100%
policy=ondemand
[/Profile]
  
[Rule]
name=AC Off - High Power
ac=off
battery_interval=70-100
profile=On Demand High
[/Rule]
  
[...]

En el ejemplo de arriba, cpufreqd cambiará el perfil del sistema a On Demand High (también se muestra en el extracto de arriba). Este perfil por si mismo utiliza el gobernador bajo demanda con una frecuencia mínim del 40% (en otras palabras, una CPU de 2 GHz tendrá bajo esta directriz una frecuencia mínima de 800 MHz).

La aplicación cpufreqd puede ofrecer un enfoque más granular sobre el escalado de la frecuencia de la CPU. Pero no solo esto, se puede ajustar la frecuencia de la CPU basándose en otras métricas disponibles. La configuración por defecto ofrece una regla ejemplo: Cuando se está viendo una película, se desea el máximo rendimiento (a menos que la temperatura de la CPU suba demasiado).

Una vez se haya configurado cpufreqd, es el momento de arrancarlo (y asegurarse de que se carga de forma automática). ¡Asegúrese de que se ha deshabilitado la gestión de la frecuencia de la CPU por parte de otras herramientas (como laptop-modo-tools)!

root #rc-update add cpufreqd default
root #/etc/init.d/cpufreqd start

Ver también

Recursos externos

Referencias

  1. Dominik Brodowski. Intel P-State driver, CPU frequency and voltage scaling code in the Linux(TM) kernel. Recuperado el 12 de junio de 2016.