Académique Documents
Professionnel Documents
Culture Documents
Borrador
r.landmann@redhat.com
Copyright 2010 Red Hat Inc. and others. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons AttributionShare Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. 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. For guidelines on the permitted uses of the Fedora trademarks, refer to https://fedoraproject.org/wiki/ Legal:Trademark_guidelines. Linux is the registered trademark of Linus Torvalds 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. All other trademarks are the property of their respective owners.
Este documento explica cmo administrar adecuadamente el consumo de energa en sistemas Fedora 14. Las secciones ofrecidas a continuacin describen diferentes tcnicas para poder disminuir el consumo de energa (ya sea en servidores o en porttiles), y cmo cada una de estas tcnicas influye en el rendimiento general de su sistema. Por favor tenga en cuenta que este documento se encuentra en desarrollo, sujeto a grandes modificaciones, y que se ofrece aqu como un anticipo. El contenido e instrucciones no deben considerarse como completos y deben utilizarse con cautela.
Borrador
Borrador
Prefacio v 1. Convenciones del Documento .......................................................................................... v 1.1. Convenciones Tipogrficas ................................................................................... v 1.2. Convenciones del documento ............................................................................... vi 1.3. Notas y Advertencias .......................................................................................... vii 2. Necesitamos sus comentarios! ...................................................................................... vii 1. Vista preliminar 1 1.1. Importancia de administracin de energa ...................................................................... 1 1.2. Fundamentos de administracin de energa ................................................................... 2 2. Herramientas de administracin y auditora de energa 5 2.1. Vista preliminar de auditora y anlisis .......................................................................... 5 2.2. PowerTOP ................................................................................................................... 5 2.3. Diskdevstat y netdevstat ............................................................................................... 7 2.4. Kit de herramientas de vida de batera ........................................................................ 10 2.5. Tuned y ktune ............................................................................................................ 12 2.5.1. El archivo tuned.conf ................................................................................... 13 2.5.2. Tuned-adm ...................................................................................................... 14 2.6. UPower ...................................................................................................................... 16 2.7. El Gestor de energa de GNOME ................................................................................ 17 2.8. Otros medios de auditora .......................................................................................... 18 3. Infraestructura central y mecnica 3.1. Estados de CPU inactivos .......................................................................................... 3.2. Uso de gobernadores CPUfreq ................................................................................. 3.2.1. Tipos de gobernadores CPUfreq ....................................................................... 3.2.2. Configuracin de CPUfreq ................................................................................ 3.2.3. Ajuste de la poltica CPUfreq y Velocidad .......................................................... 3.3. Suspender y reanudar ................................................................................................ 3.4. Kernel sin intervalos ................................................................................................... 3.5. Administrador de energa de estado activo .................................................................. 3.6. Administracin de energa de enlace agresivo ............................................................ 3.7. Optimizacin de acceso de unidad de Relatime ........................................................... 3.8. Lmite de energa ....................................................................................................... 3.9. Administracin de energa en grficas mejoradas ......................................................... 3.10. RFKill ....................................................................................................................... 3.11. Optimizaciones en espacio de usuario ....................................................................... 19 19 19 20 21 22 23 24 24 25 25 26 27 28 29
4. Casos de uso 31 4.1. Ejemplo Servidor ................................................................................................... 31 4.2. Ejemplo Porttil ..................................................................................................... 32 A. Consejos para desarrolladores A.1. Uso de hilos .............................................................................................................. A.2. Despertadores ........................................................................................................... A.3. Fsync ........................................................................................................................ B. Historial de revisiones 35 35 36 37 39
iii
iv
Borrador
Borrador
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 HTML 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.
1
https://fedorahosted.org/liberation-fonts/
Prefacio
Borrador
Seleccionar Sistema Preferencias Ratn desde la barra del men principal para lanzar Preferencias de Ratn. En la pestaa de Botones, haga clic en la cajilla ratn de mano 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 caracter especial en un archivo de gedit, seleccione desde la barra del men principal Aplicaciones Accessories Mapa de caracteres. Luego, desde la barra de menes de mapa de caracteres elija Bsqueda Hallar, teclee el nombre del caracter en el campo Bsqueda y haga clic en Siguiente. El caracter buscado se resaltar en la Tabla de caracteres. Haga doble clic en este caracter resaltado para colocarlo en el campo de Texto para copiar y luego haga clic en el botn de Copiar. Ahora regrese a su documento y elija Editar Pegar desde 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 nombredeusuario@dominio.nombre en un intrprete de comandos de shell. Si la mquina remota es example.com y su nombre de usuario en esa mquina es john, teclee ssh john@example.com. El comando mount -o remount file-system remonta el sistema de archivo llamado. Por ejemplo, para volver a montar el sistema de archivo /home, el comando es mount -o remount /home. Para ver la versin de un paquete actualmente instalado, utilice el comando rpm -q paquete. ste entregar el resultado siguiente: paquete-versin-lanzamiento. Observe las palabras en itlicas y negrita sobre nombre de usuario, domain.name, sistema de archivo, paquete, versin y lanzamiento. Cada palabra es un marcador de posicin, tanto para el texto que usted escriba al ejecutar un comando como para el texto mostrado 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.
vi
Borrador
Notas y Advertencias
Los listados de cdigo fuente tambin se muestran en romano monoespaciado, pero se presentan y resaltan de la siguiente manera:
package org.jboss.book.jca.ex1; import javax.naming.InitialContext; public class ExClient { public static void main(String args[]) throws Exception { InitialContext iniCtx = new InitialContext(); Object ref = iniCtx.lookup("EchoBean"); EchoHome home = (EchoHome) ref; Echo echo = home.create(); System.out.println("Created Echo"); System.out.println("Echo.echo('Hello') = " + echo.echo("Hello")); } }
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.
Advertencia
Las advertencias no deben ignorarse. Ignorarlas muy probablemente ocasionar prdida de datos.
Prefacio Cuando enve un reporte de error no olvide mencionar el identificador del manual: powermanagement-guide
Borrador
Si tiene una sugerencia para mejorar la documentacin, intente ser tan especfico como sea posible cuando describa su sugerencia. Si ha encontrado un error, por favor incluya el nmero de seccin y parte del texto que rodea el error para que podamos encontrarlo ms fcilmente.
viii
Borrador
Borrador
Vista preliminar
Limitar la energa utilizada por los sistemas computarizados es uno de los aspectos ms importantes de la Tecnologa de informtica verde (computacin comprometida con el medio ambiente, o tambin denominada green IT, en ingls). Este tipo de tecnologa se fundamenta en un conjunto de consideraciones entre las cuales se encuentra la utilizacin de materiales reciclables, y el diseo y la produccin de hardware respetuoso con el ambiente. En este documento, proporcionamos gua e informacin sobre la administracin de energa de los sistemas que ejecutan Fedora 14.
Captulo 1. Vista preliminar o un rendimiento de CPU superior, podra ser necesaria una revisin de estos parmetros predeterminados.
Borrador
Para decidir si debe optimizar sus mquinas mediante las tcnicas descritas en este documento, hgase las siguientes preguntas: P: R: Debo optimizar? La importancia de optimizar energa depende de si su compaa tiene lineamientos que necesiten seguirse o si hay algunas reglas que deben cumplirse. Cunto necesito optimizar? 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. La optimizacin reducir el rendimiento del sistema a un nivel inaceptable? La mayora de las tcnicas descritas en este documento impactan notablemente el rendimiento de su sistema. Si decide implementar una administracin de energa diferente de las configuraciones predeterminadas establecidas en Fedora 14, deberia monitorear el rendimiento del sistema despus de optimizar la energa, y decidir si la prdida de rendimiento es aceptable. El tiempo y los recursos utilizados para optimizar el sistema superarn las ganancias obtenidas? 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, si usted por ejemplo 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, probablemente es una buena idea.
P: R:
P: R:
P: R:
Las siguientes secciones explicarn cmo el ptimo rendimiento de hardware beneficia a su sistema en trminos de consumo de energa.
Borrador
funcionalidad pueden alterarse si el sistema tiene aplicaciones que crean eventos de temporizador innecesarios. Los eventos de polling (tales como los controles de cambios de volumen, movimiento del ratn o similares) son ejemplos de dichos eventos. Fedora 14 ofrece herramientas con las cuales se pueden identificar y auditar aplicaciones basndose en la utilizacin que ellas hacen del CPU. Consulte Captulo 2, Herramientas de administracin y auditora de energa para obtener mayor informacin.
Borrador
conciencia de tecnologa informtica "verde" con una lnea directriz que suguiere apagar las mquinas durante las horas de almuerzo, receso, o al finalizar la jornada laboral. Tambin se podran consolidar varios servidores fsicos en uno mayor, y luego virtualizarlos mediante la tecnologa de virtualizacin que ofrecemos con Fedora 14.
Borrador
Borrador
2.2. PowerTOP
El kernel sin marca en Fedora permite a la CPU entrar en estado de inactividad con ms frecuencia, reduciendo el consumo y mejorando la administracin de energa. La nueva herramienta PowerTOP identifica componentes especficos del kernel y aplicaciones del espacio de usuario que frecuentemente despiertan a la CPU. PowerTOP era utilizado en la rama 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 en un factor de 10 los despertadores de CPU no necesarios. Instale PowerTOP con el comando:
yum install powertop
Borrador
Tenga en cuenta que necesitar ejecutar PowerTOP con privilegios de root para que la aplicacin pueda hacer algo til. Cuando se ejecuta, PowerTOP rene estadsticas del sistema y ofrece una lista de los componentes que con ms frecuencia estn enviando despertadores a la CPU. PowerTOP 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 PowerTOP. Puesto que PowerTOP se actualiza peridicamente, otras sugerencias irn apareciendo. Observe en la Figura 2.1, PowerTOP en operacin , la sugerencia para aumentar el tiempo de re escritura cruda de VM, y la tecla (W) para aceptar la sugerencia. Cuando se ejecuta, PowerTOP 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 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, PowerTOP proporciona una aproximacin del uso de energa del sistema, si est disponible. Espere a que PowerTOP reporte este dato en los porttiles cuando estn en modo de batera. Any available estimates of power usage are followed by a detailed list of the components that send wakeups to the CPU most frequently. At the top of the list are those components that you should investigate more closely to optimize your system to reduce power usage. If they are kernel components, (indicated by the name of the component being listed in <>) then the wakeups are often associated with a specific driver that causes them. Tuning drivers most usually requires kernel changes which go beyond the scope of this document. However, userland processes that send wakeups are more easily managed. First, identify if this service or application should run at all on this system. If not, simply deactivate it. To turn off a service permanently, run:
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 ste documento. Por ltimo, PowerTOP tambin realiza sugerencias acerca de los ajustes necesarios que habra que realizar en el sistema para poder reducir el consumo de energa. Dichas sugerencias aparecen en la parte inferior de la pantalla, y especifican la tecla para aceptar la sugerencia de PowerTOP. 6
Borrador
Diskdevstat y netdevstat
Puesto que PowerTOP se actualiza peridicamente, otras sugerencias irn apareciendo. Observe en la Figura 2.1, PowerTOP en operacin , la sugerencia para aumentar el tiempo de re escritura cruda de VM, y la tecla (W) para aceptar la sugerencia. Estas modificaciones slo entrarn en vigencia luego de reiniciar su sistema. Para ayudarle a hacer que las modificaciones sean permanentes, PowerTOP desplegar el comando exacto a ejecutar para poder realizar esta optimizacin. Aada el comando a su archivo /etc/rc.local con su editor preferido, de modo que la modificacin se efecte cada vez que arranque el equipo.
Figura 2.1. PowerTOP en operacin La pgina Less Watts publica una lista de aplicaciones que PowerTOP ha identificado para mantener activas las CPU. Consulte http://www.lesswatts.org/projects/powertop/known.php.
Borrador
o el comando:
netdevstat
Ambos comandos pueden tomar hasta tres parmetros, as: diskdevstat update_interval duracin_total mostrar_histograma netdevstat update_interval duracin_total mostrar_histograma actualizar_intervalo El tiempo en segundos entre actualizaciones de la pantalla. Predeterminado: 5 duracin_total El tiempo en segundos para el total. Predeterminado: 86400 (1 da) mostrar_histograma Indica si hacer histograma para todos los datos recolectados al final de la ejecucin. La salida se parece a la de PowerTOP. A continuacin, una muestra de una ejecucin ms larga de diskdevstat en un sistema que ejecuta Fedora 10 KDE 4.2:
PID UID DEV READ_AVG COMMAND 2789 2903 sda1 0.000 plasma 15494 0 sda1 0.000 0logwatch 15520 0 sda1 0.000 perl 15549 0 sda1 0.000 perl 15585 0 sda1 0.000 perl 2573 0 sda1 0.000 auditd 15429 0 sda1 0.000 crond 15379 0 sda1 0.000 crond 15473 0 sda1 0.000 crond 15415 0 sda1 0.000 crond 15433 0 sda1 0.000 crond 15425 0 sda1 0.000 crond 15375 0 sda1 0.000 crond 15477 0 sda1 0.000 crond 15469 0 sda1 0.000 crond WRITE_CNT WRITE_MIN WRITE_MAX WRITE_AVG 854 0 0 0 0 63 0 0 0 0 0 0 0 0 0 0.000 0.000 0.000 0.000 0.000 0.033 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 120.000 0.000 0.000 0.000 0.000 3600.015 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 39.836 0.000 0.000 0.000 0.000 515.226 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 READ_CNT 0 758 140 140 108 0 62 62 62 62 62 62 62 62 62 READ_MIN 0.000 0.000 0.000 0.000 0.001 0.000 0.009 0.008 0.008 0.008 0.008 0.007 0.008 0.007 0.007 READ_MAX 0.000 0.012 0.009 0.009 0.002 0.000 0.009 0.008 0.008 0.008 0.008 0.007 0.008 0.007 0.007
Borrador
15419 0 sda1 0.000 crond 15481 0 sda1 0.000 crond 15355 0 sda1 0.001 laptop_mode 2153 0 sda1 0.000 rsyslogd 15575 0 sda1 0.000 cat 15581 0 sda1 0.000 perl 15582 0 sda1 0.000 perl 15579 0 sda1 0.000 perl 15580 0 sda1 0.000 perl 15354 0 sda1 0.014 sh 15584 0 sda1 0.000 perl 15548 0 sda1 0.001 perl 15577 0 sda1 0.000 perl 15519 0 sda1 0.000 perl 15578 0 sda1 0.000 perl 15583 0 sda1 0.000 perl 15547 0 sda1 0.000 perl 15576 0 sda1 0.000 perl 15518 0 sda1 0.000 perl 15354 0 sda1 0.005 lm_lid.sh 0 0 0 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.000 0.000 0.000 0.003 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 3600.029 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1290.730 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
Diskdevstat y netdevstat
62 61 37 0 16 12 12 12 12 12 12 12 12 12 12 12 11 11 11 10 0.008 0.000 0.000 0.000 0.000 0.001 0.001 0.000 0.001 0.000 0.001 0.001 0.001 0.001 0.001 0.001 0.000 0.001 0.000 0.053 0.008 0.001 0.014 0.000 0.000 0.002 0.002 0.001 0.001 0.170 0.002 0.014 0.003 0.005 0.001 0.001 0.002 0.001 0.001 0.053
Las columnas son: PID El ID de proceso de la aplicacin UID El ID de usuario bajo el cual se ejecutan las aplicaciones DEV El dispositivo en el cual la E/S tienen lugar WRITE_CNT El nmero total de operaciones de escritura WRITE_MIN El tiempo mnimo para dos escritos consecutivos (en segundos) WRITE_MAX El tiempo mximo para dos escritos consecutivos (en segundos) WRITE_AVG El tiempo promedio para dos escritos consecutivos (en segundos) 9
Captulo 2. Herramientas de administracin y auditora de energa READ_CNT El nmero total de operaciones de lectura READ_MIN El tiempo mnimo para dos lecturas consecutivas (en segundos) READ_MAX El mximo tiempo para dos lecturas consecutivas (en segundos) READ_AVG El tiempo promedio para dos lecturas consecutivas (en segundos) COMMAND El nombre del proceso En este ejemplo, tres aplicaciones muy obvias llaman la atencin:
PID UID DEV READ_AVG COMMAND 2789 2903 sda1 0.000 plasma 2573 0 sda1 0.000 auditd 2153 0 sda1 0.000 rsyslogd WRITE_CNT WRITE_MIN WRITE_MAX WRITE_AVG 854 63 26 0.000 0.033 0.003 120.000 3600.015 3600.029 39.836 515.226 1290.730 READ_CNT 0 0 0 READ_MIN 0.000 0.000 0.000
Borrador
Estas tres aplicaciones tienen un WRITE_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, el cual cada 45 segundos abra 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 de archivo (especficamente, el tiempo de modificacin) haban cambiado. La correccin final era evitar llamadas innecesarias cuando no se presentaban actualizaciones de iconos.
Borrador
cuando la mquina est activa en uso en lugar de cuando slo est en inactividad. Puesto que la misma carga de trabajo se puede ejecutar varias veces para diferentes configuraciones, usted podr comparar resultados para diferentes configuraciones Instalar BLTK con el comando:
yum install bltk
Por ejemplo, para ejecutar la carga de trabajo idle por 120 segundos:
bltk -I -T 120
Las cargas predeterminadas disponibles son: -I, --idle sistema est inactivo, usar una lnea de base para comparar con otras cargas de trabajo -R, --reader simula lectura de documentos (por defecto, con Firefox) -P, --player Simula ver archivos de multimedia desde una unidad de CD o DVD (por defecto, con mplayer) -O, --office Simula la edicin de documentos con el paquete de OpenOffice.org Otras opciones le permiten especificar: -a, --ac-ignore ignorar si energa AC est disponible (necesaria para usar escritorio) -T numero_de_segundos, --time nmero_de_segundos El tiempo (en segundos) sobre el cual ejecutar la prueba; use esta opcin con la carga de trabajo idle -F nombre_de_archivo, --file nombre_de archivo especifica a un archivo para ser usado por una carga determinada, por ejemplo, un archivo para la carga de trabajo del reproductor para que se reproduzca en lugar de acceder a la unidad de CD o DVD -W aplicacin, --prog aplicacin Especifica una aplicacin para ser utilizada por una carga de trabajo particular, por ejemplo, un navegador diferente a Firefox para la carga de trabajo de lector BLTK soporta una gran cantidad de opciones especializadas. Para obtener mayor informacin, consulte la pgina man bltk. BLTK 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 ~/.bltk/reader.results.002/ guarda los resultados de la tercera prueba con la carga de trabajo de lector (la primera prueba no est numerada). Los resultados estn esparcidos a 11
Borrador
travs de varios archivos de texto. Para condensar estos resultados dentro de un formato fcil de leer, ejecute:
bltk_report ruta _a_directorio_de_resultados
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
Al instalar el paquete tuned tambin establece un archivo de configuracin en /etc/tuned.conf y activa el perfil predeterminado. 12
El archivo tuned.conf
Tuned por s misma tiene opciones adicionales que usted puede ejecutar manualmente. Las opciones disponibles son: -d, --daemon 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.
Borrador
verbose Especifica si la salida debe ser detallada. Si no se establece para este complemento, el valor se heredar de [main]. logging Especifica la prioridad mnima de mensajes a ser registrados. Si no se establece para este complemento, el valor se heredar de [main]. A continuacin, una muestra del archivo config:
[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 valga la pena ahorrarse los pocos vatios adicionales obtenidos al hacerla. Anteriormente, la nica alternativa era utilizar los parmetros predeterminados. Ahora, Fedora 14 ofrece perfiles independientes para casos de uso especficos como una alternativa entre estos extremos, junto con
14
Borrador
Tuned-adm
la herramienta tuned-adm que le permite cambiar fcilmente de perfiles en la lnea de comandos. Fedora 14 ofrece un nmero de perfiles predefinidos para casos de uso tpicos que usted puede seleccionar y activar con el comando tuned-adm, aunque tambin puede crear, modificar o borrar perfiles. Para listar todos los perfiles disponibles e identificar el perfil actual activo, ejecute:
tuned-adm list
por ejemplo:
tuned-adm profile server-powersave
Cuando instale por primera vez tuned, el perfil predeterminado se activar. Fedora 14 tambin incluye los siguiente perfiles predeterminados: default Es el perfil predeterminado de ahorro de energa. Tiene el ms bajo impacto en ahorro de energa de los perfile disponibles y slo 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 SATA (consulte 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 SATA, 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 SATA, 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 15
Borrador
clase de sistema, no slo porttiles con batera. El sacrificio a cambio es un notable impacto en rendimiento, especficamente en latencia de disco y E/S de red. 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. Todos los perfiles estn almacenados en subdirectorios independientes bajo /etc/tune-profiles. Por lo tanto, /etc/tune-profiles/desktop-powersave contiene todos los archivos y configuraciones necesarios para ese perfil. Cada uno de estos directorios contiene hasta cuatro archivos: tuned.conf la configuracin para el servicio ajustado como activo para este perfil. sysctl.ktune la configuracin sysctl utilizada por ktune. El formato es idntico al archivo /etc/sysconfig/ sysctl (consulte las pginas man sysctl y sysctl.conf).. ktune.sysconfig el archivo de configuracin de ktune, tpicamente /etc/sysconfig/ktune. ktune.sh un script de shell estilo init utilizado por ktune el cual puede ejecutar comandos especficos durante el inicio del sistema para ajustar el sistema. 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/tune-profiles/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
2.6. UPower
En Fedora 11 DeviceKit-power presupona que las funciones de administracin de energa eran parte HAL, y en versiones anteriores de Fedora, que algunas de las funciones eran parte de la herramienta Administracin de energa de GNOME (consulte tambin Seccin 2.7, El Gestor de energa de GNOME. En Fedora 13, DeviceKit-power fue rebautizado con el nombre de UPower. UPower ofrece un demonio, un API, y un conjunto de herramientas de lnea de comandos. Cada fuente de poder del sistema es representada como un dispositivo, sin importar que sea o no un dispositivo fsico. Por ejemplo, la batera de una laptop y la fuente de energa de corriente alterna son ambas representadas como dispositivos. 16
Borrador
Puede acceder a las herramientas de la lnea de comandos mediante el comando upower seguido de las siguientes opciones: --enumerate, -e ofrece una ruta de objeto para cada uno de los dispositivos de energa del sistema, por ejemplo:
/org/freedesktop/UPower/devices/line_power_AC /org/freedesktop/UPower/devices/battery_BAT0
--dump, -d ofrece los parmetros para todos los dispositivos de energa del sistema. --wakeups, -w ofrece los despertadores de CPU en el sistema. --monitor, -m monitorea el sistema en busca de modificaciones en los dispositivos de energa, por ejemplo, la conexin o desconexin de una fuente de energa de corriente alterna, o el agotamiento de una batera. Presione Ctrl+C para detener este monitoreo. --monitor-detail monitorea el sistema en busca de modificaciones en los dispositivos de energa, por ejemplo, la conexin o desconexin de una fuente de energa de corriente alterna, o el agotamiento de una batera. La opcin --monitor-detail ofrece ms detalles que --monitor. Presione Ctrl+C para detener este monitoreo. --show-info object_path, -i object_path ofrece toda la informacin existente relacionada con una ruta de objeto determinada. Por ejemplo, para obtener informacin acerca de una batera de su sistema, que est representada por la ruta de objeto /org/freedesktop/UPower/devices/battery_BAT0, ejecute:
devkit-power -i /org/freedesktop/UPower/devices/battery_BAT0
Borrador
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.
18
Borrador
Borrador
Captulo 3. Infraestructura central y mecnica Las principales preocupaciones que rodean la administracin de energa son: Reduccin del calor para servidores Extensin de la vida de la batera para porttiles
Borrador
Como regla general, disminuir el consumo de energa de un componente especfico (u otro del sistema como un todo) conducir a la disminucin del calor y por ende del rendimiento. Por esta razn, se debe estudiar a fondo y probar la disminucin del rendimiento permitida por algunas configuraciones que realice, especialmente para los sistemas de misin crtica. Las secciones a continuacin explican cmo el rendimiento ptimo de hardware beneficia a su sistema en trminos de consumo de energa.
cpufreq_performance
El gobernador de Rendimiento fuerza a la CPU a usar la frecuencia de reloj ms alta posible. Esta frecuencia se establecer de forma esttica y no cambiar. Como tal, este gobernador no ofrece beneficio de ahorro de energa. Es slo apropiado para horas de carga de trabajo pesado y luego incluso slo en momentos en que la CPU est rara vez (o nunca) inactiva.
cpufreq_powersave
En contraste, el gobernador Powersave fuerza a la CPU a usar la frecuencia de reloj ms baja posible. Esta frecuencia se establecer de forma esttica y no cambiar. Como tal, este gobernador ofrece ahorro mximo de energa, pero a expensas del rendimiento de CPU ms bajo. El trmino "powersave" puede algunas veces ser engaoso, ya que (en principio) una CPU lenta con carga completa consume ms energa que una CPU rpida que no est cargada. Entonces, aunque puede ser recomendable establecer la CPU para utilizar el gobernador Powersave durante los periodos en que se espera baja actividad, cualquier carga alta inesperada durante ese tiempo puede hacer que el sistema consuma ms energa. El gobernador Powersave, en trminos ms sencillos, en ms un "lmite de velocidad" para la CPU que un "ahorro de energa". Es ms til en sistemas y entornos donde el sobrecalentamiento pueda llegar ser un problema.
cpufreq_ondemand
El gobernador Ondemand es un gobernador dinmico que permite a la CPU alcanzar la mxima frecuencia de reloj cuando el sistema est inactivo. Aunque esto permite al sistema ajustar el consumo de energa segn la carga del sistema, lo hace a expensas de la latencia entre el cambio de frecuencia. Como resultado, la latencia puede alterar los beneficios de ahorro de energa /rendimiento ofrecidos por el gobernador Ondemand si el sistema cambia, con demasiada frecuencia, entre inactivo y carga de trabajo pesada. Para la mayora de sistemas, el gobernador Ondemand puede proporcionar el mejor compromiso entre emisin de calor, consumo de energa, rendimiento y gestin. Cuando el sistema slo est ocupado en momentos del da especficos, el gobernador Ondemand cambiar automticamente entre frecuencia mxima y mnima segn la carga sin ninguna otra intervencin.
20
Borrador
Configuracin de CPUfreq
cpufreq_userspace
El gobernador Userspace permite a programas de espacio de usuario (o cualquier proceso que est ejecutndose como root) establecer la frecuencia. Este gobernador se utiliza junto con el demonio cpuspeed. De todos lo gobernadores, Userspace es el ms adaptable; y dependiendo de cmo se configure, puede ofrecer el mejor balance entre rendimiento y consumo para su sistema.
cpufreq_conservative
Al igual que el gobernador Ondemand, el gobernador Conservative ajusta la frecuencia de reloj segn el uso. Sin embargo, mientras el gobernador Ondemand lo hace de una manera agresiva (es decir, desde lo mximo a lo mnimo y viceversa), el gobernador Conservative cambia de frecuencias gradualmente. 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 Procedimiento 3.2, Cmo habilitar un gobernador CPUfreq en Seccin 3.2.2, Configuracin de CPUfreq.
2.
21
Borrador
Importante
Al escoger un controlador CPUfreq apropiado, siempre elija acpi-cpufreq sobre p4clockmod. Aunque el uso del controlador p4-clockmod 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
Tambin puede ver qu gobernadores estn disponibles para una CPU especfica, mediante:
cat /sys/devices/system/cpu/[cpu ID]/cpufreq/scaling_available_governors
Algunos gobernadores de CPUfreq pueden no estar disponibles para su uso. En este caso, utilice modprobe para aadir los mdulos de kernel necesarios para habilitar el gobernador CPUfreq especfico que desee utilizar. Dichos mdulos de kernel estn disponibles en /lib/ modules/[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 modprobe para habilitar el gobernador que desee utilizar. Por ejemplo, si el gobernador ondemand 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 [governor] > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Borrador
Suspender y reanudar
Procedimiento 3.2, Cmo habilitar un gobernador CPUfreq en Seccin 3.2.2, Configuracin de CPUfreq para obtener instrucciones sobre cmo hacerlo. scaling_governor Shows what CPUfreq governor is currently in use. To use a different governor, simply use echo [governor] > /sys/devices/system/cpu/[cpu ID]/ cpufreq/scaling_governor (refer to Procedimiento 3.2, Cmo habilitar un gobernador CPUfreq in Seccin 3.2.2, Configuracin de CPUfreq for more information). cpuinfo_cur_freq Muestra la velocidad actual de la CPU (en KHz). scaling_available_frequencies Lista las frecuencias disponibles para la CPU, en KHz. scaling_min_freq y scaling_max_freq Establecen los lmites de poltica de la CPU, en KHz.
Importante
Al establecer lmites de polticas, debe configurar scaling_max_freq antes de scaling_min_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. Puede establecer slo una velocidad entre los lmites de polticas de las CPU (como en scaling_min_freq y scaling_max_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. To change the value of each tunable, use echo [value] > /sys/devices/system/cpu/[cpu ID]/cpufreq/[tunable]. For example, to set the minimum clock speed of cpu0 to 360 KHz, use: echo 360000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Borrador
24
Borrador
min_power
Este modo establece el enlace a su mnimo estado de energa, (LETARGO) cuando no hay E/S en el disco. Dicho modo es til para cuando se espera un periodo extendido de tiempo de inactividad.
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 medium_power permite el enlace a la transicin entre estados PARCIAL y TOTAL (es decir "ACTIVE"), dependiendo de la carga. Tenga en cuenta 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 ACTIVO.
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 SATA en realidad soportan ALPM, puede chequear si el archivo /sys/class/scsi_host/host*/link_power_management_policy existe.
Borrador
tiempo, el kernel de Linux ha soportado la opcin noatime para mount y no escribira datos atime a sistemas de archivos montados con esta opcin. Sin embargo, la desactivacin de esta funcionalidad es problemtica, puesto que algunas aplicaciones dependen de los datos de atime y fallarn si no est disponible. El kernel utilizado en Fedora 14 soporta otra alternativa relatime. Relatime mantiene datos atime, pero no para cada vez que se acceda a un archivo. Con esta opcin habilitada, los datos atime se escriben al disco nicamente si el archivo ha sido modificado desde la ltima vez que los datos atime fueron actualizados (mtime), o si el archivo fue accedido por un periodo de tiempo mayor (por defecto, un da). Por defecto, todos los sistemas de archivos ahora se montan con la opcin relatime habilitada. Para suprimir esta funcionalidad a travs de todo el sistema, utilice el parmetro de arranque default_relatime=0. Si la opcin relatime est habilitada por defecto en un sistema, podr suprimirla para un determinado sistema de archivos montando ese sistema de archivos con la opcin norelatime. Por ltimo, para variar la longitud predeterminada antes de que el sistema actualice los datos atime de un archivo, utilice el parmetro de arranque relatime_interval=, especificando el periodo en segundos. El valor predeterminado es 86400.
http://h18013.www1.hp.com/products/servers/management/dynamic-power-capping/index.html
26
Borrador
LVDS reclocking
La Sealizacin diferencial de bajo voltaje (LVDS por las iniciales en ingls de Low-voltage differential signaling) es un sistema que permite transmitir seales electrnicas sobre alambre de cobre. Un recurso importante del sistema es el de poder transmitir informacin pixel hacia la pantalla de cristal lquido (LCD) en computadores notebook. Todas las pantallas tienen una tasa de actualizacin la tasa en la cual reciben datos actualizados desde un controlador grfico, y redirigen la imagen en la pantalla. Por lo general, la pantalla recibe datos actualizados sesenta veces por segundo (una frecuencia de 60 Hz). Cuando una pantalla y un controlador grfico estn conectados por LVDS, el sistema LVDS utiliza energa en cada ciclo de actualizacin. Cuando se encuentra inactivo, la tasa de actualizacin de varias pantallas LCD pueden caer a 30 Hz sin ningn efecto perceptible (a diferencia de los monitores de tubo de rayos catdicos, CRT, en los cuales la reduccin en la tasa de actualizaciones produce un parpadeo caracterstico). El controlador para adaptadores grficos Intel incorporado en el kernel utilizado en Fedora 14 realiza automticamente este proceso, denominado downclocking, y ahorra cerca de 0.5 W cuando la pantalla est inactiva.
http://communities.intel.com/docs/DOC-4766
27
Borrador
datos que se encuentren actualmente en memoria. El kernel utilizado en Fedora 14 puede reactivar la auto-actualizacin de memoria en los adaptadores grficos Intel cuando se encuentren en inactividad, lo cual ahorra cerca de 0.8 W.
GPU powerdown
Los controladores grficos Intel y ATI en Fedora 14 pueden detectar cuando no exista un monitor conectado a un adaptador, y por lo tanto, apagar completamente la GPU. Esta funcionalidad es en particular importante para servidores que no tienen monitores conectados regularmente a ellos.
3.10. RFKill
Muchos sistemas informticos contienen radiotransmisores, que incluyen dispositivos Wi-Fi, Bluetooth, y 3G. Dichos dispositivos consumen energa, la cual se pierda si no se utiliza. RFKill es un subsistema en el kernel de Linux que proporciona una interfaz a travs de la cual radiotransmisores en un sistema informtico se pueden solicitar, activar o desactivar. Cuando los transmisores se desactivan, pueden ser localizados en un estado en el que software puede reactivarlos (un bloque blando) o en el que software no pueda reactivarlos (un bloque duro). El ncleo RFKill proporciona la interfaz de programacin de aplicacin (API) para el subsistema. Los controladores de Kernel que han sido diseados para soportar RFkill usan esta API para registrarse al kernel, e incluyen mtodos para habilitar e inhabilitar el dispositivo. Adems, el ncleo RFKill proporciona notificaciones que las aplicaciones de usuario pueden interpretar y formas para que aplicaciones de usuario soliciten estados de transmisor. La interfaz RFKill est localizada en /dev/rfkill, el cual contiene el estado actual de todos los radiotransmisores en el sistema. Cada dispositivo tiene su estado RFKill actual registrado en sysfs. Adems, RFKill genera uevents para cada cambio de estado en un dispositivo RFKill-habilitado. Rfkill es una herramienta de lnea de comando con la cual se puedes solicitar y cambiar dispositivos de RFKill-habilitado en el sistema. Para obtener la herramienta, instale el paquete rfkill. Use el comando rfkill list para obtener una lista de dispositivos, cada uno de los cuales tiene un nmero de ndice asociado a ste, iniciando en 0. Se puede usar este nmero de ndice para decirle a rfkill que bloquee o desbloquee un dispositivo, por ejemplo:
rfkill block 0
bloquea el primer dispositivo RFKill-habilitado en el sistema. Tambin puede usar rfkill para bloquear algunas categoras de dispositivos o todos los dispositivos de RFKill-habilitado. Por ejemplo:
rfkill block wifi
28
Borrador
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
Despertadores reducidos
Fedora 14 utiliza un kernel sin intervalo (consulte Seccin 3.4, Kernel sin intervalos), que permite al CPU permanecer en los estados ms profundos de inactividad por mayor perodo de tiempo. Sin embargo, el temporizador de intervalo no es la nica fuente de despertadores excesivos de CPU, y las llamadas de funcin desde aplicaciones pueden tambin evitar que el CPU entre o permanezca en estados de inactividad. Las llamadas de funcin innecesarias se redujeron en ms de 50 aplicaciones.
Auditora Initscript
Los servicios que se inicien automticamente, ya sean o no necesarios, tienen gran potencial para desperdiciar recursos del sistema. En su lugar, los servicios deberan configurarse por defecto a estar en "off" o "por demanda" siempre que sea posible. Por ejemplo, el servicio de BlueZ que permite el soporte Bluetooth, anteriormente se ejecutaba automticamente cada vez que el sistema era iniciado, sin importar que estuviera o no presente un hardware Bluetooth. Ahora, el initscript de BlueZ verifica primero que exista disponible algn hardware Bluetooth en en el sistema antes de iniciar el servicio.
29
30
Borrador
Borrador
Casos de uso
Este captulo describe dos tipos de casos de uso para ilustrar los mtodos de anlisis y configuracin descritos en esta gua. El primer ejemplo, observa servidores tpicos y el segundo observa un porttil tpico.
Servidor de Web
Un servidor de Web necesita E/S de red y disco. Segn la velocidad de conexin externa 100 Mbit/s podra ser suficiente. Si la mquina sirve en su mayora pginas estticas, el rendimiento de la CPU podra no ser importante. Las opciones de administracin de energa por lo tanto incluiran: no hay complementos de disco o de red para tuned. ALPM encendido. Gobernador ondemand encendido. tarjeta de red limitada a 100 Mbit/s.
Servidor de cmputo
Un servidor de cmputo principalmente necesita CPU. Las opciones de administracin de energa podran incluir: Segn los trabajos y dnde se suceda el almacenamiento de datos, complementos de disco y red para tuned; o para sistemas de modo-batch, completamente activos tuned. segn el uso,quizs el gobernador de rendimiento.
Servidor de correo
Un servidor de correo necesita la mayora de las opciones de E/S de disco y CPU. Las opciones de administracin de energa podran incluir: Gobernador ondemand encendido, puesto que el ltimo porcentaje de rendimiento de CPU no es importante. no hay complementos de disco o de red para tuned. la velocidad de red no debe ser limitada, puesto que el correo a menudo es interno y puede, por lo tanto, beneficiarse de un enlace de 1 Gbit/s 10 Gbit/s.
Servidor de archivos
Los requisitos del Servidor de archivos son similares a los del servidor de correo, pero dependiendo del protocolo utilizado, podra requerir ms rendimiento de CPU. Por lo general, servidores basados 31
Borrador
en Samba, requieren ms CPU que NFS y, NFS requiere ms de iSCSI. Incluso con esto. debera poder utilizar el gobernador ondemand.
Servidor de directorio
Un servidor de directorio generalmente tiene requisitos ms bajos para E/S de disco, especficamente si 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.
32
Borrador
1
Ejemplo Porttil
habilitar el ahorro de energa de audio AC97 (habilitado por defecto en Fedora 14):
echo Y > /sys/module/snd_ac97_codec/parameters/power_save
Note that USB auto-suspend does not work correctly with all USB devices. habilitar mnima configuracin de energa para ALPM (parte del perfil laptop-batterypowersave):
echo min_power > /sys/class/scsi_host/host*/link_power_management_policy
activar el mejor modo de ahorro de energa para discos duros (parte del perfil laptop-batterypowersave):
hdparm -B 1 -S 200 /dev/sd*
33
Borrador
34
Borrador
Borrador
Python
Python usa el Global Lock Interpreter , por lo tanto, el uso de hilos es slo til para operaciones de E/ 2 S mayores. Unladen-swallow es una aplicacin de Python ms rpida con la cual puede optimizar su cdigo.
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
1 2
http://docs.python.org/c-api/init.html#thread-state-and-the-global-interpreter-lock http://code.google.com/p/unladen-swallow/
35
Borrador
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 3 cual toma an ms tiempo y es an mucho ms lenta.
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 4 perfiladores para identificar las partes de su cdigo que se ejecutan pobremente.
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(); } ...
La ventaja de este enfoque es la variedad de verificaciones que se pueden realizar. La principal limitante es que slo un nmero limitado de reljes est disponible en el sistema. El nmero puede obtenerse en /proc/sys/fs/inotify/max_user_watches y aunque se puede cambiar, no es recomendable. Adems, si inotify falla, el cdigo tiene que resguardarse a un mtodo de verificacin diferente, lo cual suele significar muchas apariciones de #if #define en el cdigo fuente.
3 4
http://www.perlmonks.org/?node_id=288022 http://people.redhat.com/drepper/lt2009.pdf
36
Borrador Para obtener mayor informacin sobre inotify, consulte la pgina man inotify.
Fsync
A.3. Fsync
Fsync se conoce como una operacin de E/S costosa, pero esto no es totalmente cierto. Por 5 ejemplo, consulte el artculo de Theodore Ts No le tema a fsync! (en ingls) y la discusin que lo acompaa. 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. Sin embargo, en otros casos, donde fsync no se utilizaba en absoluto, se presentaban problemas con el cambio al sistema de archivos ext4. Ext3 se estableca de modo datos-ordenados, lo que haca que cada pocos segundos se borrara la memoria, y se almacene en el disco. Sin embargo, con ext4 y el modo_porttil, el intervalo entre almacenamientos era mayor, y los datos podan perderse si el sistema inesperadamente era apagado. Ahora ext4 est corregido, pero an debe considerarse cuidadosamente el diseo de las aplicaciones y utilizar fsync adecuadamente. 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);
http://thunk.org/tytso/blog/2009/03/15/dont-fear-the-fsync/
37
38
Borrador
Borrador
39
40