3.11. Optimizaciones en espacio de usuario

La reducción de la cantidad de trabajo realizada por hardware del sistema es fundamental para ahorrar energía. Por lo tanto, aunque los cambios descritos en Capítulo 3, Infraestructura central y mecánica permiten que el sistema opere en varios estados de consumo de energía reducido, las aplicaciones en espacio de usuario que solicitan trabajo innecesario del hardware del sistema evitan que el hardware entre en esos estados. Durante el desarrollo de Red Hat Enterprise Linux 6, se realizaron auditorías en las siguientes áreas para reducir demandas innecesarias de hardware:
Despertadores reducidos

Red Hat Enterprise Linux 6 utiliza un kernel sin intervalo (consulte la Sección 3.4, “Kernel sin intervalos”), el cual permite a la CPU permanecer en los estados más profundos de inactividad por más tiempo. Sin embargo, el temporizador de intervalo no es la única fuente de despertadores de CPU excesivos y las llamadas de función desde aplicaciones pueden también evitar que la CPU entre o permanezca en estados de inactividad. Las llamadas de función innecesarias se redujeron en más de 50 aplicaciones.

Almacenaje reducido y red de E/S

La entrada o salida (E/S) para dispositivos de almacenamiento y las interfaces de red obligan a dispositivos a consumir energía. En dispositivos de almacenamiento y de red esa función reducía los estados de energía cuando estaban inactivos (por ejemplo, ALPM o ASPM), este tráfico puede impedir que el dispositivo entrar o permanecer en un Estado de inactividad y puede impedir que unidades de disco duro de girar hacia abajo cuando no esté en uso. Las demandas excesivas e innecesarias de almacenamiento de información han sido minimizadas en varias aplicaciones. En particular, aquellas demandas que impedían a unidades de disco duro girar hacia abajo.

Auditoría Initscript

Los servicios que se inicien automáticamente si se requieren o no tienen gran potencial para residuos de recursos del sistema. En su lugar, los servicios deben por defecto estar en "off" o "en demand" siempre que sea posible. Por ejemplo, el servicio de BlueZ que permite el soporte de Bluetooth previamente se ejecutaba automáticamente cuando se iniciaba el sistema, si el hardware de Bluetooth estaba presente o no. Initscript de BlueZ ahora comprueban que hardware Bluetooth está presente en el sistema antes de iniciar el servicio.