Professional Documents
Culture Documents
Don Domingo
Rdiger Landmann
Do n Do mingo
Red Hat Servicio s de co ntenido de Ingeniera
Rdiger Landmann
Red Hat Servicio s de co ntenido de Ingeniera
r.landmann@redhat.co m
Red Hat Inc.
Legal Notice
Copyright 2010 Red Hat Inc..
T his document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported
License. If you distribute this document, or a modified version of it, you must provide attribution to Red
Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be
removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section
4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo,
and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux is the registered trademark of Linus T orvalds in the United States and other countries.
Java is a registered trademark of Oracle and/or its affiliates.
XFS is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States
and/or other countries.
MySQL is a registered trademark of MySQL AB in the United States, the European Union and other
countries.
Node.js is an official trademark of Joyent. Red Hat Software Collections is not formally related to or
endorsed by the official Joyent Node.js open source or commercial project.
T he OpenStack Word Mark and OpenStack Logo are either registered trademarks/service marks or
trademarks/service marks of the OpenStack Foundation, in the United States and other countries and
are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or
sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Abstract
Este documento explica cmo manejar efectivamente el consumo de energa en sistemas de Red Hat
Enterprise Linux 6. Las secciones a continuacin describen diferentes tcnicas para disminuir el
consumo de energa (para servidores y porttiles), y la forma como cada una de estas tcnicas afecta
el rendimiento general de su sistema.
Table of Contents
Table of Contents
.Prefacio
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3. . . . . . . . . .
1. Convenciones del Documento
3
1.1. Convenciones tipogrficas
3
1.2. Convenciones del documento
4
1.3. Notas y Advertencias
5
2. Necesitamos sus comentarios!
6
.Captulo
. . . . . . . . .1.
. . Vista
. . . . . .preliminar
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7. . . . . . . . . .
1.1. Importancia de administracin de energa
7
1.2. Fundamentos de administracin de energa
8
.Captulo
. . . . . . . . .2.
. . Herramientas
. . . . . . . . . . . . . . .de
. . .administracin
...............y
. . auditora
. . . . . . . . . .de
. . . energa
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
............
2.1. Vista preliminar de auditora y anlisis
10
2.2. PowerT OP
10
2.3. Diskdevstat y netdevstat
12
2.4. Kit de herramientas de vida de batera
16
2.5. T uned y ktune
18
2.5.1. El archivo tuned.conf
19
2.5.2. T uned-adm
21
2.6. DeviceKit de energa y devkit de energa
23
2.7. El Gestor de energa de GNOME
24
2.8. Otros medios de auditora
25
.Captulo
. . . . . . . . .3.. .Infraestructura
. . . . . . . . . . . . . . . . central
. . . . . . . .y. .mecnica
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
............
3.1. Estados de CPU inactivos
26
3.2. Uso de gobernadores CPUfreq
26
3.2.1. T ipos de gobernadores CPUfreq
27
3.2.2. Configuracin de CPUfreq
28
3.2.3. Ajuste de la poltica CPUfreq y Velocidad
29
3.3. Suspender y reanudar
30
3.4. Kernel sin intervalos
30
3.5. Administrador de energa de estado activo
30
3.6. Administracin de energa de enlace agresivo
31
3.7. Optimizacin de acceso de unidad de Relatime
32
3.8. Lmite de energa
33
3.9. Administracin de energa en grficas mejoradas
34
3.10. RFKill
34
3.11. Optimizaciones en espacio de usuario
35
.Captulo
. . . . . . . . .4. .. Casos
. . . . . . . de
. . . uso
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
...........
4.1. Ejemplo Servidor
37
4.2. Ejemplo Porttil
38
.Consejos
. . . . . . . . . .para
. . . . .desarrolladores
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. .0. . . . . . . . . .
A.1. Uso de hilos
40
A.2. Despertadores
41
A.3. Fsync
41
. . . . . . . . . .de
Historial
. . .revisiones
.............................................................................4
. .3. . . . . . . . . .
Prefacio
Prefacio
1. Convenciones del Documento
Este manual utiliza varias convenciones para resaltar algunas palabras y frases y llamar la atencin
sobre ciertas partes especficas de informacin.
En ediciones PDF y de papel, este manual utiliza tipos de letra procedentes de Liberation Fonts.
Liberation Fonts tambin se utilizan en ediciones de HT ML si estn instalados en su sistema. Si no, se
muestran tipografas alternativas pero equivalentes. Nota: Red Hat Enterprise Linux 5 y siguientes
incluyen Liberation Fonts predeterminadas.
de m ano izquierda y luego haga clic en Cerrar para cambiar el botn principal del
ratn de la izquierda a la derecha (adecuando el ratn para la mano izquierda).
Para insertar un carcter especial en un archivo gedit, seleccione Aplicaciones
Accesorios Mapa de caracteres de la barra del men. Luego, seleccione Bsqueda
Buscar de la barra del men de Mapa de caracteres, escriba el nombre del
carcter en el campo de Bsqueda y haga clic en Siguiente. El carcter que busc ser
resaltado en la T abla de caracteres. Haga doble clic en ese carcter resaltado para
colocarlo en el campo de T exto a copiar y luego haga clic en el botn Copiar. Ahora
regrese al documento y elija Modificar Pegar de la barra de men de gedit.
El texto anterior incluye nombres de aplicacin; nombres y elementos del men de todo el sistema;
nombres de men de aplicaciones especficas y botones y texto hallados dentro de una interfaz grfica
de usuario, todos presentados en negrita proporcional y distinguibles por contexto.
Itlicas-negrita monoespaciado o Itlicas-negrita proporcional
Ya sea negrita monoespaciado o negrita proporcional, la adicin de itlicas indica texto reemplazable o
variable. Las itlicas denotan texto que usted no escribe literalmente o texto mostrado que cambia
dependiendo de la circunstancia. Por ejemplo:
Para conectar a una mquina remota utilizando ssh, teclee ssh nombre de
usuario@ dominio.nombre en un intrprete de comandos de shell. Si la mquina remota
es exam ple.com y su nombre de usuario en esa mquina es john, teclee ssh
john@ exam ple.com .
El comando m ount -o rem ount file-system remonta el sistema de archivo llamado.
Por ejemplo, para volver a montar el sistema de archivo /hom e, el comando es m ount -o
rem ount /hom e.
Para ver la versin de un paquete actualmente instalado, utilice el comando rpm -q
paquete. ste entregar el resultado siguiente: paquete-versin-lanzamiento.
Observe que las palabras resaltadas en itlicas nombre de usuario, dominio.nombre, sistema de
archivo, paquete, versin y lanzamiento. Cada palabra es un marcador de posicin, ya sea de texto a
ingresar cuando se ejecuta un comando o para un texto ejecutado por el sistema.
Aparte del uso estndar para presentar el ttulo de un trabajo, las itlicas denotan el primer uso de un
trmino nuevo e importante. Por ejemplo:
Publican es un sistema de publicacin de DocBook.
Desktop
Desktop1
documentation
downloads
drafts
images
mss
notes
photos
scripts
stuff
svgs
svn
Los listados de cdigo fuente tambin se muestran en rom ano m onoespaciado, pero se presentan
y resaltan de la siguiente manera:
Prefacio
Nota
Una nota es una sugerencia, atajo o enfoque alternativo para una tarea determinada. Ignorar una
nota no debera tener consecuencias negativas, pero podra perderse de algunos trucos que
pueden facilitarle las cosas.
Importante
Los cuadros con el ttulo de importante dan detalles de cosas que se pueden pasar por alto
fcilmente: cambios de configuracin nicamente aplicables a la sesin actual, o servicios que
necesitan reiniciarse antes de que se aplique una actualizacin. Ignorar estos cuadros no
ocasionar prdida de datos, pero puede causar enfado y frustracin.
Aviso
Las advertencias no deben ignorarse. Ignorarlas muy probablemente ocasionar prdida de
datos.
Debo optimizar?
R:
P:
R:
Varias de las tcnicas que presentamos no requieren que usted vaya a travs de todo el proceso
de auditora y anlisis de su mquina , sino que ofrecen un set de optimizaciones generales que
tpicamente mejoran el uso de energa. Aquellas, por supuesto, no son tan buenas como un
sistema auditado y optimizado manualmente aunque proporcionan un buen compromiso.
P:
R:
P:
El tiempo y los recursos utilizados para optimizar el sistema superarn las ganancias
obtenidas?
R:
Optimizar manualmente un solo sistema siguiendo todo el proceso, no vale la pena, ya que el
tiempo empleado y costo para hacerlo es hasta el momento superior al beneficio que se obtendra
de una sola mquina. Por otra parte, podra ser una buena idea, si por ejemplo, usted despliega
10000 sistemas de escritorio para sus oficinas todas con la misma configuracin y montaje y
luego crea una configuracin optimizada y la aplica a todas las mquinas.
Las siguientes secciones explicarn cmo el ptimo rendimiento de hardware beneficia a su sistema en
trminos de consumo de energa.
2.2. PowerTOP
La introduccin del kernel sin marca en Red Hat Enterprise Linux 6 (consulte la Seccin 3.4, Kernel sin
intervalos) permite a la CPU entrar en estado de inactividad con ms frecuencia, reduciendo el
consumo de energa y mejorando la administracin de energa. La nueva herramienta PowerT OP
identifica componentes especficos de kernel y aplicaciones de espacio de usuario que frecuentemente
despiertan a la CPU. PowerT OP serva en desarrollo para realizar las auditoras descritas en la
Seccin 3.11, Optimizaciones en espacio de usuario, las cuales dieron lugar a numerosas
aplicaciones que se est ajustando en esta versin, reduciendo as despertadores de CPU
innecesarios en un factor de 10.
Instale PowerT OP con el comando:
yum install powertop
10
T enga en cuenta que necesitar ejecutar PowerT OP con privilegios de root para que la aplicacin
pueda hacer algo til.
Al ejecutarse, PowerT OP reune estadsticas del sistema y presenta una lista de los componentes que
estn enviando con mayor frecuencia despertadores a la CPU. PowerT OP tambin hace sugerencias
sobre ajustes al sistema para reducir consumo de energa. Dichas sugerencias aparecen en la parte
inferior de la pantalla, y especifican la tecla para aceptar la sugerencia de PowerT OP. Puesto que
PowerT OP se actualiza peridicamente, otras sugerencias aparecern. Observe en la Figura 2.1,
PowerT OP en operacin , la sugerencia para aum entar el tiem po de reescritura sucia
de VM, y la tecla (W) para aceptar la sugerencia.
Cuando se ejecuta, PowerT OP reune estadsticas desde el sistema y le presenta varias listas
importantes de informacin. En la parte superior de la lista est la lista de cunto tiempo sus ncleos de
CPU han estado disponibles en estados C y P. Entre ms CPU permanezca en los estados superiores
C o P es mejor (C4 es superior a C3) y es un buen indicador de qu tan bien se ajusta el sistema al
uso de CPU. Su meta debe ser la residencia de 90% o ms en los estados superiores C o P cuando el
sistema est inactivo.
La segunda parte de la informacin es un resumen de los despertadores por segundo reales de la
mquina. El nmero de despertadores por segundo da una medida de qu tan bien los servicios u otros
dispositivos y controladores del kernel estn ejecutndose con respecto al uso de energa en su
sistema. Entre ms despertadores por segundo tenga, habr ms consumo de energa, por lo tanto
entre ms baja es mejor aqu.
Luego, PowerT OP proporciona una aproximacin del uso de energa del sistema, si est disponible.
Espere a que PowerT OP reporte este dato en los porttiles cuando estn en modo de batera.
Cualquier estimacin del uso de energa est acompaada por una lista detallada de todos los
componentes que envan con ms frecuencia despertadores a la CPU. En la parte superior de la lista
estn todos los componentes que debe investigar de cerca para optimizar su sistema y reducir el uso
de energa. Si se trata de componentes de kernel, (indicados por el nombre del componente que se lista
en <>) entonces los despertadores estarn siempre asociados con un controlador especfico que los
genera. El ajuste de controladores suele requerir cambios de kernel que van ms all del objetivo de
este documento. Sin embargo, los procesos de espacio de usuario que envan despertadores se
administran con mayor facilidad. Primero, identifique si este servicio o aplicacin debe ejecutarse en
este sistema. Si no, simplemente, desactvelo. Para apagar este servicio de forma permanente, ejecute:
chkconfig nombre_ de_servicio off
Para obtener mayores detalles sobre lo que realmente este componente hace, ejecute:
ps -awux | grep nombre_ de_ componente
strace -p processid
Si el rastro parece que se est repitiendo, entonces probablemente ha encontrado un bucle ocupado.
Para corregir esto se requerira cambiar el cdigo en ese componente, sin embargo este tema va ms
all del tpico de este documento.
Por ltimo, PowerT OP tambin hace sugerencias sobre ajustes del sistema para reducir el consumo
de energa. Dichas sugerencias aparecen en la parte inferior de la pantalla, y especifican la tecla para
11
aceptar la sugerencia de PowerT OP. Puesto que PowerT OP se actualiza peridicamente, otras
sugerencias aparecern. Observe en la Figura 2.1, PowerT OP en operacin , la sugerencia para
aum entar el tiem po de reescritura sucia de VM y la tecla (W) para aceptar la sugerencia.
Estos cambios solo se activarn despus del reinicio. Para ayudarle a hacer los cambios permanentes,
PowerT OP desplegar el comando exacto que ejecuta para realizar esta optimizacin. Aada el
comando a su archivo /etc/rc.local con su editor preferido para que el cambio se efecte cada vez
que el computador arranque.
La pgina Less Watts publica una lista de aplicaciones que PowerT OP ha identificado para mantener
activas las CPU. Consulte http://www.lesswatts.org/projects/powertop/known.php.
12
diskdevstat
o el comando:
netdevstat
La salida se parece a la de PowerT OP. A continuacin, una muestra de una ejecucin ms larga de
diskdevstat en un sistema que ejecuta Fedora 10 KDE 4.2:
13
PID
UID DEV
WRITE_CNT WRITE_MIN WRITE_MAX WRITE_AVG
READ_MAX READ_AVG COMMAND
2789 2903 sda1
854
0.000
120.000
39.836
0.000
0.000
0.000 plasma
15494
0 sda1
0
0.000
0.000
0.000
0.000
0.012
0.000 0logwatch
15520
0 sda1
0
0.000
0.000
0.000
0.000
0.009
0.000 perl
15549
0 sda1
0
0.000
0.000
0.000
0.000
0.009
0.000 perl
15585
0 sda1
0
0.000
0.000
0.000
0.001
0.002
0.000 perl
2573
0 sda1
63
0.033 3600.015
515.226
0.000
0.000
0.000 auditd
15429
0 sda1
0
0.000
0.000
0.000
0.009
0.009
0.000 crond
15379
0 sda1
0
0.000
0.000
0.000
0.008
0.008
0.000 crond
15473
0 sda1
0
0.000
0.000
0.000
0.008
0.008
0.000 crond
15415
0 sda1
0
0.000
0.000
0.000
0.008
0.008
0.000 crond
15433
0 sda1
0
0.000
0.000
0.000
0.008
0.008
0.000 crond
15425
0 sda1
0
0.000
0.000
0.000
0.007
0.007
0.000 crond
15375
0 sda1
0
0.000
0.000
0.000
0.008
0.008
0.000 crond
15477
0 sda1
0
0.000
0.000
0.000
0.007
0.007
0.000 crond
15469
0 sda1
0
0.000
0.000
0.000
0.007
0.007
0.000 crond
15419
0 sda1
0
0.000
0.000
0.000
0.008
0.008
0.000 crond
15481
0 sda1
0
0.000
0.000
0.000
0.000
0.001
0.000 crond
15355
0 sda1
0
0.000
0.000
0.000
0.000
0.014
0.001 laptop_mode
2153
0 sda1
26
0.003 3600.029 1290.730
0.000
0.000 rsyslogd
15575
0 sda1
0
0.000
0.000
0.000
0.000
0.000
0.000 cat
15581
0 sda1
0
0.000
0.000
0.000
0.001
0.002
0.000 perl
15582
0 sda1
0
0.000
0.000
0.000
0.001
0.002
0.000 perl
15579
0 sda1
0
0.000
0.000
0.000
0.000
0.001
0.000 perl
15580
0 sda1
0
0.000
0.000
0.000
0.001
0.001
0.000 perl
15354
0 sda1
0
0.000
0.000
0.000
0.000
0.170
0.014 sh
15584
0 sda1
0
0.000
0.000
0.000
0.001
0.002
0.000 perl
15548
0 sda1
0
0.000
0.000
0.000
0.001
0.014
0.001 perl
15577
0 sda1
0
0.000
0.000
0.000
0.001
0.003
0.000 perl
15519
0 sda1
0
0.000
0.000
0.000
0.001
0.005
0.000 perl
14
READ_CNT
READ_MIN
0
758
140
140
108
0
62
62
62
62
62
62
62
62
62
62
61
37
0
16
12
12
12
12
12
12
12
12
12
0.000
15578
0.001
15583
0.001
15547
0.000
15576
0.001
15518
0.000
15354
0.053
0 sda1
0.001
0 sda1
0.001
0 sda1
0.002
0 sda1
0.001
0 sda1
0.001
0 sda1
0.053
0
0.000
0.000 perl
0
0.000
0.000 perl
0
0.000
0.000 perl
0
0.000
0.000 perl
0
0.000
0.000 perl
0
0.000
0.005 lm_lid.sh
0.000
0.000
12
0.000
0.000
12
0.000
0.000
11
0.000
0.000
11
0.000
0.000
11
0.000
0.000
10
15
COMMAND
El nombre del proceso
READ_CNT
READ_MIN
0
0
0
0.000
Estas tres aplicaciones tienen un WRIT E_CNT mayor que 0, lo cual significa que realizan un forma de
escritura durante la medicin. De ellas, plasma fue el peor transgresor en un alto grado: realiz la
mayora de operaciones de escritura y por lo tanto el promedio de tiempo entre escrituras fue el ms
bajo. Por esa razn Plasma sera el mejor candidato para investigar si est interesado en aplicaciones
ineficientes de energa.
Utilice los comandos strace y ltrace para examinar aplicaciones de una forma ms cercana al rastrear
todas las llamadas de sistema del ID de proceso determinado. En este ejemplo, puede ejecutar:
strace -p 2789
En este ejemplo, la salida de strace contena un patrn repetitivo cada 45 segundos que abra para
escribir el archivo cache del icono de KDE del usuario para escribir y luego lo cerraba inmediatamente.
Esto llevaba necesariamente a una escritura fsica al disco duro cuando los metadatos del archivo
(especficamente, el tiempo de modificacin) haban cambiado. La correccin final era evitar llamadas
innecesarias cuando no se presentaban actualizaciones de iconos.
16
Por ejemplo, para ejecutar la carga de trabajo idle por 120 segundos:
bltk -I -T 120
BLT K soporta una gran cantidad de opciones especializadas. Para obtener mayor informacin, consulte
la pgina man bltk.
BLT K guarda los resultados que genera en un directorio especificado por defecto en el archivo de
configuracin /etc/bltk.conf, ~/.bltk/workload.results.number/. Por ejemplo, el directorio
17
Los resultados aparecen ahora en un archivo de texto llamado Report en el directorio de resultados.
Para ver los resultados en un emulador de terminal, utilice la opcin -o:
bltk_report -o ruta_a_directorio_de_resultados
18
T uned por s misma tiene opciones adicionales que usted puede ejecutar manualmente. Las opciones
disponibles son:
-d, --daem on
Inicia tuned como demonio en lugar de en primer plano.
-c, --conffile
Usa un archivo de configuracin con el nombre y ruta especificados, por ejemplo, -conffile=/etc/tuned2.conf. El predeterminado es /etc/tuned.conf.
-D, --debug
Usa el nivel superior de registro.
19
prioridad o menor no ser registrado. En orden descendiente, los valores permitidos son:
crtico, error, advertencia, info, y depuracin. El valor notset inhabilita esta
opcin.
Cada complemento tiene su propia seccin, especificada con el nombre del complemento en parntesis
cuadrados; por ejemplo: [CPUT uning]. Cada complemento puede tener sus propias opciones, pero lo
siguiente se aplica a todos los complementos:
enabled
Especifica si el complemento est habilitado o no. El valor predeterminado es Verdadero.
verbose
Especifica si la salida debe ser detallada. Si no se establece para este complemento, el valor
se heredar de [m ain].
logging
Especifica la prioridad mnima de mensajes a ser registrados. Si no se establece para este
complemento, el valor se heredar de [m ain].
20
[main]
interval=10
pidfile=/var/run/tuned.pid
logging=info
logging_disable=notset
# Disk monitoring section
[DiskMonitor]
enabled=True
logging=debug
# Disk tuning section
[DiskTuning]
enabled=True
hdparm=False
alpm=False
logging=debug
# Net monitoring section
[NetMonitor]
enabled=True
logging=debug
# Net tuning section
[NetTuning]
enabled=True
logging=debug
# CPU monitoring section
[CPUMonitor]
# Enabled or disable the plugin. Default is True. Any other value
# disables it.
enabled=True
# CPU tuning section
[CPUTuning]
# Enabled or disable the plugin. Default is True. Any other value
# disables it.
enabled=True
2.5.2. Tuned-adm
Por lo general, una auditora y anlisis de un sistema consume mucho tiempo y probablemente no vale
la pena el ahorro de unos pocos vatios adicionales al hacerla. Anteriormente la nica alternativa era
usar los predeterminados. Ahora, Red Hat Enterprise Linux 6 incluye perfiles independientes para casos
de uso especficos como una alternativa entre esos extremos, junto con la herramienta tuned-adm que
le permite cambiar entre perfiles fcilmente en la lnea de comandos. Red Hat Enterprise Linux 6 incluye
un nmero de perfiles predefinidos para casos de uso tpicos que usted puede seleccionar y activar
con el comando tuned-adm , pero tambin usted mismo puede crear, modificar o borrar perfiles.
Para listar todos los perfiles disponibles e identificar el perfil actual activo, ejecute:
21
tuned-adm list
por ejemplo:
tuned-adm profile server-powersave
Cuando instale por primera vez tuned, el perfil predeterm inado se activar. Red Hat Enterprise
Linux 6 tambin incluye los siguiente perfiles predeterminados:
default
Es el perfil predeterminado de ahorro de energa. T iene el ms bajo impacto en ahorro de
energa de los perfile disponibles y solo habilita CPU y complementos de disco de tuned.
desktop-powersave
Es un perfil de ahorro de energa dirigido a sistemas de escritorio. Habilita ahorro de energa
ALPM para adaptadores de host SAT A (consulte la Seccin 3.6, Administracin de energa de
enlace agresivo ) y complementos de CPU, Ethernet, y disco de tuned.
server-powersave
Es un perfil de ahorro de energa dirigido a los sistemas de servidores. Habilita el ahorro de
energa ALPM para adaptadores de host SAT A, inhabilita polling de CD-ROM a travs de HAL
(consulte la pgina man hal-disable-polling) y activa la CPU y complementos de disco de
tuned.
laptop-ac-powersave
Es un perfil de ahorro de energa de medio impacto dirigido a porttiles en AC. Habilita ahorro
de energa ALPM para adaptadores de host SAT A, ahorro de energa WIFI, como tambin
complementos de CPU, Ethernet y disco de tuned.
laptop-battery-powersave
Es un perfil de ahorro de energa de alto impacto dirigido a porttiles que se ejecutan con
batera. Activa todos los mecanismos de ahorro de energa de los perfiles anteriores y habilita
el programador de ahorro de energa multi-ncleos para sistemas despertadores bajos,.
Adems, se asegura de que el gobernador ondemand est activo y que el ahorro de energa
AC97 est habilitado. Este perfil se puede usar para ahorrar la mxima cantidad de energa en
cualquier clase de sistema, no solo porttiles con batera. El sacrificio a cambio es un notable
impacto en rendimiento, especficamente en latencia de disco y E/S de red.
22
throughput-performance
Es un perfil de servidor para ajuste de rendimiento. Inhabilita los mecanismos de ahorro de
energa tuned y ktune, habilita la configuracin de sysctl que mejora el rendimiento de
procesamiento de su E/S de red y disco y cambia al programador de fecha lmite.
latency-performance
Es un perfil de servidor para ajuste de rendimiento de latencia tpica. Inhabilita los mecanismos
de ahorro de energa de tuned y ktune habilita la configuracin de sysctl para mejorar el
rendimiento de latencia de su E/S de red.
La forma ms fcil de iniciar un nuevo perfil es copiando uno existente. El perfil laptop-batterypowersave ya contiene un set de ajustes muy variados y es por lo tanto, til como punto de partida.
Simplemente copie todo el directorio al nuevo nombre de perfil as:
cp -a /etc/tune-profiles/laptop-battery-powersave/ /etc/tuneprofiles/myprofile
Modifique los archivos en el nuevo perfil para que coincidan con sus requerimientos personales. Por
ejemplo, si usted requiere la deteccin de cambios de CD, puede desactivar esa optimizacin quitando
el comentario de la lnea apropiada en ktune.sh script:
# Disable HAL polling of CDROMS
# for i in /dev/scd*; do hal-disable-polling --device $i; done > /dev/null 2>&1
En Red Hat Enterprise Linux 6 el DeviceKit de energa asume las funciones de administrador de
energa que hacan parte de HAL y algunas de las funciones que hacan parte del Gestor de energa
de GNOME en los lanzamientos anteriores de Red Hat Enterprise Linux (consulte tambin la
Seccin 2.7, El Gestor de energa de GNOME. El DeviceKit de energa proporciona un demonio, un
API, y un set de herramientas de lnea de comandos. Cada fuente de alimentacin en el sistema est
representada como un dispositivo, ya sea un dispositivo fsico o no. Por ejemplo, una batera de porttil
y una fuente de alimentacin de corriente alterna(CA) y ambos representados como dispositivos.
Puede acceder a las herramientas de lnea de comandos con el comando devkit-power y las
siguientes opciones:
--enum erate, -e
Presenta una ruta de objeto para cada dispositivo de energa en el sistema, por ejemplo:
/org/freedesktop/DeviceKit/power/devices/line_power_AC
/org/freedesktop/UPower/DeviceKit/power/battery_BAT0
--dum p, -d
Presenta los parmetros para todos los dispositivos de energa en el sistema.
--wakeups, -w
Presenta los despertadores de CPU en el sistema.
--m onitor, -m
Monitoriza el sistema para los cambios a los dispositivos de energa, por ejemplo, la conexin o
desconexin de una fuente de alimentacin de CA o el agotamiento de una pila. Presione
Ctrl+C para detener la monitorizacin del sistema.
--m onitor-detail
Monitoriza el sistema para cambios a dispositivos de energa, por ejemplo, la conexin o
desconexin de una fuente de alimentacin de CA o el agotamiento de una pila. La opcin -m onitor-detail presenta ms informacin que la opcin --m onitor. Presione Ctrl+C
para detener la monitorizacin del sistema.
--show-info object_path, -i object_path
Presenta toda la informacin disponible para una ruta de objeto determinada. Por ejemplo, para
obtener informacin sobre la batera de su sistema representada por la ruta de objeto
/org/freedesktop/UPower/DeviceKit/power/battery_BAT 0, ejecute:
devkit-power -i /org/freedesktop/UPower/DeviceKit/power/battery_BAT0
24
devkit de energa. Sin embargo, el Gestor de energa de GNOME es an una interfaz para la
funcionalidad. A travs de una mini-aplicacin en la bandeja del sistema, el Gestor de energa de
GNOME notifica sus cambios en el estatus de energa del sistema; por ejemplo, un cambio de la batera
a la energa de corriente alterna. T ambin reporta el estado de la batera y le avisa cuando la energa
de la batera est baja.
El Gestor de energa de GNOME tambin le permite establecer algunas configuraciones de
administracin de energa. Para acceder a estas configuraciones, haga clic en el icono Gestor de
energa de GNOME en la bandeja del sistema, luego haga clic en Preferencias
La pantalla de Preferencias de adm inistracin de energa contiene las siguientes
pestaas:
En energa de CA
En energa de batera
General
Use las pestaas En energa CA y En energa de batera para especificar cunto tiempo
debe pasar antes de que la pantalla se apaga en un sistema inactivo, cunto tiempo debe pasar antes
de que un sistema inactivo se duerma, y si el sistema debe dejar de girar los discos duros cuando no
estn en uso. La pestaa En energa de batera tambin le permite establecer el brillo de la
pantalla y elegir una conducta para un sistema con una batera crticamente baja. Por ejemplo, el
Gestor de energa de GNOME, por defecto, hace al sistema invernar cuando su nivel de pila alcanza
un nivel bajo crtico. Use la pestaa General para establecer las conductas para el botn de energa
(fsica) y el botn de suspender en su sistema y especifique las circunstancias bajo las cuales el icono
del Gestor de energa de GNOME deber aparecer en la bandeja del sistema.
25
Las CPU Intel recientes con la microarquitectura "Nehalem" representan un nuevo estado-C, C6, el cual
puede reducir a cero el voltaje proporcionado de una CPU, pero por lo general, reduce el consumo de
energa entre el 80 y 90 por ciento. El kernel en Red Hat Enterprise Linux 6 incluye optimizaciones para
este nuevo estado-C.
26
rendimiento de la CPU. Cada gobernador tiene su propia conducta, propsito e idoneidad en trminos
de carga de trabajo. Esta seccin describe cmo elegir y configurar un gobernador de CPUfreq, las
caractersticas de cada gobernador y la clase de carga de trabajo para la cual cada gobernador es
adecuado.
27
Es decir que el gobernador Conservative se ajustar a una frecuencia de reloj que estime correcta para
la carga, en lugar de elegir simplemente entre mxima y mnima. Aunque esto podra proporcionar un
significativo ahorro en consumo de energa, lo hace siempre a una latencia mayor que la del gobernador
Ondemand.
Nota
Puede habilitar al gobernador mediante trabajos cron. Esto le permite automticamente
establecer gobernadores especficos durante horas especficas del da. Como consecuencia,
puede especificar un gobernador de baja frecuencia durante tiempos de inactividad (por ejemplo
despues de horas de trabajo) y retornar a un gobernador de frecuencia ms alta durante horas
de carga de trabajo pesada.
Para obtener instrucciones sobre cmo habilitar un determinado gobernador, consulte el
Procedimiento 3.2, Cmo habilitar un gobernador CPUfreq en la Seccin 3.2.2, Configuracin de
CPUfreq.
Importante
Al escoger un controlador CPUfreq apropiado, siempre elija acpi-cpufreq sobre p4 clockm od. Aunque el uso del controlador p4 -clockm od reduce la frecuencia del reloj de
una CPU, no reduce el voltaje. Por otra parte, acpi-cpufreq reduce el voltaje junto con
la frecuencia del reloj de la CPU, permitiendo menos consumo de energa y salida de calor
para cada reduccin de unidad en rendimiento..
3. Una vez el controlador CPUfreq est configurado, se podr ver el sistema actual que est
gobernando, mediante:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
T ambin puede ver qu gobernadores estn disponibles para una CPU especfica, mediante:
28
Algunos gobernadores de CPUfreq pueden no estar disponibles para su uso. En este caso, utilice
m odprobe para aadir los mdulos de kernel necesarios para habilitar el gobernador CPUfreq
especfico que desee utilizar. Dichos mdulos de kernel estn disponibles en
/lib/m odules/[versin de kernel]/kernel/drivers/cpufreq/.
Procedimiento 3.2. Cmo habilitar un gobernador CPUfreq
1. Si el gobernador especfico no aparece en la lista como disponible, utilice m odprobe para
habilitar el gobernador que desee utilizar. Por ejemplo, si el gobernador ondem and no est
disponible para su CPU, use el siguiente comando:
modprobe cpufreq_ondemand
2. Cuando un gobernador est listado como disponible para su CPU, usted podr habilitarlo
mediante:
echo [gobernador] > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Importante
Al establecer lmites de polticas, debe configurar scaling_m ax_freq antes de
scaling_m in_freq.
affected_cpus Lista las CPU que requieren software de coordinacin de frecuencia.
scaling_setspeed Utilizado para cambiar la velocidad del reloj de la CPU, en KHz. Solo puede
29
establecer una velocidad entre los lmites de polticas de las CPU (como en scaling_m in_freq y
scaling_m ax_freq).
Para ver el valor actual de cada ajustable, utilice cat [tunable]. Por ejemplo, para ver la velocidad
actual de cpu0 (en KHz), use:
cat /sys/devices/system /cpu/cpu0/cpufreq/cpuinfo_cur_freq.
Para cambiar el valor de cada ajustable, use echo [value]> /sys/devices/system /cpu/[cpu
ID]/cpufreq/[tunable]. Por ejemplo, para establecer la mnima velocidad de cpu0 a 360 KHz, use:
echo 360000 > /sys/devices/system /cpu/cpu0/cpufreq/scaling_m in_freq
30
Cuando ASPM est habilitado, la latencia de dispositivo aumenta debido al tiempo requerido para la
transicin del enlace entre diferentes estados de energa. ASPM tiene tres polticas para determinar los
tres estados de energa:
default
establece los estados de enlace de energa de PCLe segn los predeterminados
especificados por firmware en el sistema (por ejemplo, BIOS). Este es el estado
predeterminado para ASPM.
powersave
Configura ASPM para ahorrar energa cuando sea posible, independiente del costo de
rendimiento.
performance
Inhabilita ASPM para permitir que enlaces PCLe operen con el mximo rendimiento
31
medium_power
Este modo establece el enlace en el segundo estado ms bajo de energa (PARCIAL) cuando no hay
E/S en el disco. Dicho modo est diseado para permitir transiciones en estados de enlace de energa
(por ejemplo durante los momentos de alta carga de E/S intermitente y tiempo de inactividad de E/S) con
el menor impacto posible en rendimiento.
El modo m edium _power permite el enlace a la transicin entre estados PARCIAL y T OT AL (es decir
"ACT IVO"), dependiendo de la carga. Observe que no es posible la transicin directa de un enlace
PARCIAL a SLUMBER y viceversa; en este caso, ningn estado de energa puede pasar al otro sin
haber hecho primero la transicin al estado ACT IVO.
max_performance
ALPM est inhabilitado; el enlace no entra a ningn estado de baja cuando no hay E/S en el disco.
Para verificar si sus adaptadores de host SAT A en realidad soportan ALPM, puede chequear si el
archivo /sys/class/scsi_host/host* /link_power_m anagem ent_policy existe.
32
33
http://communities.intel.com/docs/DOC-4766
3.10. RFKill
Muchos sistemas informticos contienen radiotransmisores, que incluyen dispositivos Wi-Fi, Bluetooth, y
34
bloquea todos los dispositivos Wi-Fi en el sistema. Para bloquear todos los dispositivos RFKillhabilitado, ejecute:
rfkill block all
Para desbloquear dispositivos, ejecute rfkill unblock en lugar de rfkill block. Para obtener
una lista completa de las categoras de dispositivos que rfkill puede bloquear, ejecute: rfkill help
35
36
37
est equipado con suficiente RAM. La latencia de red es importante aunque la E/S de red sea menor.
Debera considerar el ajuste de latencia de red con una velocidad de enlace inferior, pero debera
probarlo con cuidado en su red particular.
habilitar AC97 ahorro de energa de audio (habilitado por defecto en Red Hat Enterprise Linux 6):
echo Y > /sys/module/snd_ac97_codec/parameters/power_save
38
Observe que la auto-suspensin de USB no funciona correctamente en todos los dispositivos USB.
habilitar mnima configuracin de energa para ALPM (parte del perfil laptop-batterypowersave):
echo min_power > /sys/class/scsi_host/host*/link_power_management_policy
montar sistema de archivos mediante relatime (por defecto en Red Hat Enterprise Linux 6):
mount -o remount,relatime mountpoint
activar el mejor modo de ahorro de energa para discos duros (parte del perfil laptop-batterypowersave):
hdparm -B 1 -S 200 /dev/sd*
desactivar Wi-Fi:
echo 1 > /sys/bus/pci/devices/*/rf_kill
39
[2]
[1] ,
Perl
Los hilos de Perl fueron creados originalmente para aplicaciones que se ejecutan en sistemas sin
bifurcaciones (como los sistemas con sistemas operativos de Windows de 32 bits). En hilos de Perl, los
datos se copian para cada hilo (Copia en Escritura). Los datos no son compartidos de forma
predeterminada, puesto que los usuarios deben definir el nivel de datos compartidos. Para compartir
datos, el mdulo threads::shared tiene que estar incluido. Sin embargo, los datos no son solamente
copiados (Copia en Escritura), sino que el mdulo tambin crea variables vinculadas para los datos, lo
cual toma an ms tiempo y es an mucho ms lenta.
[3]
C
Los hilos C comparten la misma memoria, cada hilo tiene su propia pila y el kernel no tiene que crear
nuevos descriptores de archivo ni asignar nuevo espacio de memoria. C puede usar el soporte de ms
CPU para ms hilos. Por lo tanto, para maximizar el rendimiento de sus hilos, utilice un lenguaje de bajo
nivel como C o C ++. Si utiliza un lenguaje de scripts, considere escribir un vnculo C. Use perfiladores
para identificar las partes de su cdigo que se ejecutan pobremente. [4]
40
A.2. Despertadores
Muchas aplicaciones pueden examinar archivos de configuracin para cambios. En algunos casos, el
examen se realiza en un intervalo fijo, por ejemplo, cada minuto. Esto puede ser un problema, puesto
que fuerza al disco a despertar de los spindowns. La mejor solucin es hallar un buen intervalo, un
buen mecanismo de verificacin o revisar los cambios con inotify y reaccionar a eventos. Inotify puede
verificar la variedad de cambios en un archivo o un directorio.
Por ejemplo:
int fd;
fd = inotify_init();
int wd;
/* checking modification of a file - writing into */
wd = inotify_add_watch(fd, "./myConfig", IN_MODIFY);
if (wd < 0) {
inotify_cant_be_used();
switching_back_to_previous_checking();
}
...
fd_set rdfs;
struct timeval tv;
int retval;
FD_ZERO(&rdfs);
FD_SET(0, &rdfs);
tv.tv_sec = 5;
value = select(1, &rdfs, NULL, NULL, &tv);
if (value == -1)
perror(select);
else {
do_some_stuff();
}
...
A.3. Fsync
Fsync se conoce como una operacin de E/S costosa, pero esto no es totalmente cierto. Por ejemplo,
consulte el artculo de T heodore T s No le tema a fsync!
[5]
Firefox llamaba a la biblioteca sqlite cada vez que el usuario haca clic en un enlace para ir a una
nueva pgina. Sqlite llamaba a fsync y debido a las configuraciones del sistema de archivos
(principalmente ext3 con datos en modo ordenado), haba ms latencia cuando nada suceda. Esto
poda tardar un largo tiempo (ms de 30 segundos) si otro proceso estaba copiando un archivo grande
al mismo tiempo.
41
Sin embargo, en otros casos, donde fsync wasn't no se utilizaba, se presentaban problemas con el
cambio al sistema de archivos ext4. Ext3 se estableca de modo datos-ordenados, lo cual borraba la
memoria cada pocos segundos y le ahorraba al disco. Sin embargo, con ext4 y modo_porttil, el
intervalo entre almacenamiento utilizaba ms tiempo y los datos podan perderse cuando el sistema
inesperadamente era apagado. Ahora ext4 est corregido, pero debe an considerarse
cuidadosamente el diseo de sus aplicaciones y usar fsync como es apropiado.
El siguiente ejemplo de lectura y escritura en un archivo de configuracin muestra cmo se puede hacer
una copia de seguridad de un archivo y cmo se pueden perder datos:
/* open and read configuration file e.g. ~/.kde/myconfig */
fd = open("./kde/myconfig", O_WRONLY|O_TRUNC|O_CREAT);
read(myconfig);
...
write(fd, bufferOfNewData, sizeof(bufferOfNewData));
close(fd);
[1] http ://d o c s .p ytho n.o rg /c -ap i/init.html#thread -s tate-and -the-g lo b al-interp reter-lo c k
[2] http ://c o d e.g o o g le.c o m/p /unlad en-s wallo w/
[3] http ://www.p erlmo nks .o rg /?no d e_id =28 8 0 22
[4] http ://p eo p le.red hat.c o m/d rep p er/lt20 0 9 .p d f
[5] http ://thunk.o rg /tyts o /b lo g /20 0 9 /0 3/15/d o nt-fear-the-fs ync /
42
Historial de revisiones
Historial de revisiones
Revisin 1.0-10.4 00
Rebuild with publican 4.0.0
2013-10-31
Rdiger Landmann
Revisin 1.0-10
Rebuild for Publican 3.0
2012-07-18
Anthony T owns
Revisin 1.0-2
Fri Oct 22 2010
Correccin de errores tipogrficos menores
Rdiger Landmann
Revisin 1.0-1
T hu Oct 7 2010
remocin de la etiqueta "borrador"
Rdiger Landmann
Revisin 1.0-0
Lanzamiento de GA
Rdiger Landmann
T hu Oct 7 2010
43