Tuned es un servicio que ejecuta en segundo plano y que se encarga de ajustar la configuración del sistema de manera dinámica. Realiza una supervisión periódica del uso de varios componentes del sistema. Utilizando esta información en combinación con un perfil seleccionado, Tuned se encarga de configurar automáticamente las mejores opciones para obtener un máximo rendimiento dependiendo del uso del sistema.

Tuned está disponible en prácticamente todas las distribuciones Linux y sólo es necesario instalarlo, iniciarlo, seleccionar un perfil y aplicar el perfil.

Instalación.

La instalación en Fedora™ y derivados de Red Hat™ Enterprise Linux ―como AlmaLinux™ 8 y 9 o CentOS™ Stream 8― se puede realizar con dnf:

dnf -y install tuned

En sistemas como ALDOS 1.4, CentOS™ 7 y Red Hat™ Enterprise Linux 7 se puede instalar con yum:

yum -y install tuned

Si se utiliza ALDOS, conviene iniciar el sistema con scsi_mod.use_blk_mq=1 como argumento para el núcleo, a fin de habilitar los nuevos planificadores de entrada y salida con múltiples colas (bfq, kyber y mq-deadline) y poder obtener así mejores resultados.

Inicio del servicio.

En Fedora™ y derivados de Red Hat™ Enterprise Linux y otras distribuciones de Linux que utilicen SystemD, se puede activar e iniciar el servicio ejecutando lo siguiente:

systemctl enable --now tuned

En distribuciones Linux que utilizan SysVinit como ALDOS, se puede activar e iniciar el servicio ejecutando lo siguiente:

chkconfig tuned on && service tuned start

Después de activar e iniciar tuned, se utilizará de modo predeterminado el perfil balanced que corresponde a opciones para lograr un rendimiento balanceado. Ejecute lo siguiente para mostrar el perfil predeterminado:

tuned-adm active

La salida debe ser similar a la siguiente:

Current active profile: balanced

Los perfiles para tiempo real por lo general vienen incluidos en un paquete separado denominado tuned-profiles-realtime.

Selección del perfil.

Tuned dispone de una amplia gama de perfiles para prácticamente todo tipo de uso que se le pudiese dar al sistema. De modo predeterminado se incluyen perfiles básico para usos comunes, como escritorio, anfitrión de máquinas virtuales, máquina virtual, tiempo real, rendimiento balanceado, etc. Los paquetes adicionales de perfiles incluyen los correspondientes para servidores ejecutando aplicaciones y servicios como MS SQL, Oracle Database, PostgreSQL, SAP, etc. Consultar el almacén de para más detalles.

Ejecute lo siguiente ara mostrar una lista con los perfiles disponibles en Tuned:

tuned-adm list

La salida debe ser similar a la siguiente, pudiendo variar dependiendo de la versión de tuned instalada y de la distribución Linux utilizada.

Available profiles:
- accelerator-performance     - Throughput performance based tuning with disabled higher latency STOP states
- balanced                    - General non-specialized tuned profile
- desktop                     - Optimize for the desktop use-case
- hpc-compute                 - Optimize for HPC compute workloads
- intel-sst                   - Configure for Intel Speed Select Base Frequency
- latency-performance         - Optimize for deterministic performance at the cost of increased power consumption
- network-latency             - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance
- network-throughput          - Optimize for streaming network throughput, generally only necessary on older CPUs or 40G+ networks
- openshift                   - Optimize systems running OpenShift (parent profile)
- openshift-control-plane     - Optimize systems running OpenShift control plane
- openshift-node              - Optimize systems running OpenShift nodes
- optimize-serial-console     - Optimize for serial console use.
- powersave                   - Optimize for low power consumption
- throughput-performance      - Broadly applicable tuning that provides excellent performance across a variety of common server workloads
- virtual-guest               - Optimize for running inside a virtual guest
- virtual-host                - Optimize for running KVM guests
Current active profile: balanced

Como se mencionó anteriormente, el perfil predeterminado de tuned es balanced que viene siendo un punto medio entre latencia y rendimiento. Paar elegir el perfil adecuado, es importante tomar en cuenta lo siguiente:

  1. Aumentar el rendimiento reduce la latencia.
  2. Aumentar la latencia reduce el rendimiento.
  3. Mientras más latencia, mayor cantidad de peticiones se pueden atender.
  4. Mientras más rendimiento, menor cantidad de peticiones se pueden atender.

Ejemplos:

  • Un servidor Web utiliza una moderada cantidad de latencia para poder atender más peticiones simultáneas a costa de reducir el rendimiento.
  • En un escritorio que sólo atiende pocas peticiones, se prefiere aumentar el rendimiento a costa de reducir la latencia.

Para resumir: A mayor latencia, habrá mayor capacidad de respuesta ante múltiples peticiones, como ocurre en un servidor, a costa de una reducción en el el rendimiento. A mayor rendimiento hay mejor velocidad de respuesta a peticiones realizadas, pero se reduce la cantidad de peticiones que se pueden atender de manera simultanea.

Si se trata de un sistema que se utiliza como escritorio, obviamente el perfil recomendado será desktop. Este perfil tiene baja latencia y da prioridad al rendimiento.

tuned-adm profile desktop

Si se trata de un servidor que hospeda máquina virtuales, el perfil a elegir sería virtual-host:

tuned-adm profile virtual-host

Si se trata de un sistema Linux ejecutando en una máquina virtual, el perfil a elegir sería virtual-guest:

tuned-adm profile virtual-guest

Si se quiere un excelente rendimiento con estados de PARADA de mayor latencia deshabilitados, el perfil a elegir es accelerator-performance:

tune-adm profile accelerator-performance

Si se trata de un servidor con uno o más servicios y se quiere el mejor rendimiento posible con latencia, el perfil a elegir sería latency-performance:

tuned-adm profile latency-performance

latency-performance ofrece el mejor rendimiento con latencia. Si se quiere priorizar atender cuantas peticiones como sea posible, este es el perfil a utilizar.

Si se quiere un ajuste ampliamente aplicable que proporciona un excelente rendimiento en una variedad de cargas de trabajo de servidor comunes, el perfil a elegir es throughput-performance:

tuned-adm profile throughput-performance

throughput-performance ofrece el mejor desempeño con baja latencia. Si se quiere obtener el mejor rendimiento en un servidor con pocas peticiones o bien es una estación de trabajo, este es el perfil a elegir.

Nota: latency-performance y throughput-performance son básicamente lo contrario el uno del otro.

¿Se interrumpió el suministro de energía y la PC está trabajando con un UPS? ¿Se requiere ahorrar batería al máximo en una portátil? Si se quiere ahorrar energía al máximo a costa del rendimiento y la latencia, el perfil a elegir es powersave:

tuned-adm profile powersave

Si se instaló el paquete tuned-profiles-realtime y se quiere obtener el máximo rendimiento sin latencia, el perfil a utilizar es realtime:

tuned-adm profile realtime

Utilizar el perfil realtime implica que sólo se pueden usar pocas aplicaciones a la vez y que los procesos se van a ejecutar con el máximo rendimiento posible, pero haciendo fila y procesando uno por uno. Este perfil es ideal para realizar edición y grabado de audio y video.

¿Cuesta trabajo elegir un perfil?

Tuned incluye lo necesario para determinar un perfil recomendado. Ejecute lo siguiente para mostrar qué perfil recomienda tuned para el sistema actual:

tuned-adm recommend

La salida puede ser similar a la siguiente si el sistema sólo ejecuta un entorno de escritorio sin servicios que por lo general sólo hay en un servidor:

desktop  

Para indicar a tuned que seleccione y aplique automáticamente el perfil recomendado para el sistema, ejecute lo siguiente:

tuned-adm auto_profile

¿Hay herramienta gráfica?

Sí. De hecho hay dos.

tuned-switcher

Siguiente Entrada Entrada Anterior