Perfiles ajustados para la optimización de la carga de trabajo de servidores Linux

16 min de lectura - 9 de junio de 2026

hero section cover
Tabla de contenidos
  • Perfiles optimizados para la optimización de la carga de trabajo del servidor
  • Cómo funcionan los perfiles ajustados
  • Elegir el perfil adecuado para su carga de trabajo
  • Instalación y aplicación de perfiles
  • Creación de un perfil personalizado para cargas de trabajo de IA, ML y ancho de banda elevado
  • Gestión de perfiles en un parque de servidores
  • Conclusión
Compartir

Cómo elegir, aplicar y personalizar perfiles ajustados para GPU, bases de datos y servidores Linux de gran ancho de banda, con ejemplos y consejos de implementación de Ansible.

Perfiles optimizados para la optimización de la carga de trabajo del servidor

La configuración predeterminada de Linux está ajustada para la compatibilidad, no para el rendimiento. El demonio tuned incluye perfiles predefinidos que ajustan los reguladores de la CPU, los programadores de E/S, los parámetros del kernel y los búferes de red para adaptarse a una carga de trabajo específica. Esta publicación explica cómo funcionan los perfiles, cuál elegir para las funciones habituales de los servidores y cómo crear e implementar perfiles personalizados en un parque de servidores.


 

Cómo funcionan los perfiles ajustados

Un perfil es un directorio bajo /usr/lib/tuned/profiles/ (sistema) o /etc/tuned/profiles/ (personalizado) que contiene un tuned.conf archivo. El archivo de configuración agrupa los parámetros por complemento: [cpu], [disk], [sysctl], [vm], [bootloader], y así sucesivamente. Al activar un perfil, el demonio de tuned aplica todos los parámetros de una sola vez, en lugar de ejecutar docenas de sysctl y sysfs comandos manualmente.

Los perfiles pueden heredarse entre sí mediante la include directiva. El throughput-performance perfil, por ejemplo, puede servir de base para un perfil de base de datos personalizado que anule únicamente vm.swappiness la configuración de Transparent Huge Pages.

tuned funciona en dos modos. El ajuste estático aplica el perfil una vez al activarse y no interviene en el sistema, que es lo que se busca en servidores de producción donde la consistencia es más importante que el ahorro de energía. El ajuste dinámico supervisa el uso del disco, la red y la carga en tiempo real y ajusta la configuración sobre la marcha. Los perfiles de rendimiento desactivan el ajuste dinámico de forma predeterminada para evitar la sobrecarga de la supervisión.

Elegir el perfil adecuado para su carga de trabajo

Tuned ofrece una docena de perfiles que cubren las cargas de trabajo más comunes. Elige el que se ajuste a lo que realmente hace el servidor, en lugar de dejar el balanced .

Carga de trabajoPerfilQué hace
Entrenamiento e inferencia de GPUaccelerator-performanceBloquea la CPU en estados C bajos, manteniendo la latencia entre la CPU y la GPU por debajo de 100 µs
Bases de datos (Postgres, MySQL, Redis)throughput-performanceDesactiva el ahorro de energía, ajusta la E/S de disco y de red, y desactiva las páginas enormes transparentes
Redes de gran ancho de banda (CDN, replicación, canalizaciones de datos)network-throughputAmplía los búferes de red del kernel para transferencias sostenidas de gran ancho de banda
Servicios sensibles a la latencianetwork-latency o latency-performanceFija el regulador de la CPU en performance, desactiva los estados C profundos
Clústeres de HPC y computaciónhpc-computeAmplía el rendimiento de latencia con NUMA y ajuste de memoria
Instancias VPS (SO invitado)virtual-guestReduce la swappiness y aumenta la lectura anticipada del disco para E/S paravirtualizadas
Hosts con hipervisor KVMvirtual-hostOptimiza la reescritura de páginas sucias para cargas de trabajo de máquinas virtuales
Misto o desconocidobalancedPredeterminado. Prioriza la eficiencia energética frente al rendimiento

Para motores de bases de datos específicos, Tuned también incluye postgresql, mssql, y oracle perfiles que van más allá de throughput-performance ajustando los parámetros de la memoria compartida y del programador del núcleo para dichos motores.

En servidores de múltiples sockets, la topología NUMA es importante. El acceso a la memoria de nodos remotos puede ser entre dos y tres veces más lento que el acceso local. Para cargas de trabajo en las que la latencia es crítica en equipos de doble socket, desactive el equilibrio NUMA automático en el perfil y asigne los procesos a nodos específicos manualmente.

Instalación y aplicación de perfiles

Instala tuned en RHEL, Rocky, AlmaLinux o Fedora:

dnf install tuned
systemctl enable --now tuned

En Debian y Ubuntu, el paquete también se llama tuned y se instala mediante apt. Si power-profiles-daemon ya se está ejecutando, enmascáralo para evitar conflictos:

systemctl mask --now power-profiles-daemon

Muestre los perfiles disponibles, pregunte a tuned qué recomienda para el hardware, aplique un perfil y verifíquelo:

tuned-adm list
tuned-adm recommend
tuned-adm profile throughput-performance
tuned-adm verify

El perfil activo se almacena en /etc/tuned/active_profile y se mantiene tras los reinicios. Para eliminar por completo el ajuste y medir la línea de base, ejecute tuned-adm off.

Creación de un perfil personalizado para cargas de trabajo de IA, ML y ancho de banda elevado

Cuando los perfiles predeterminados te permitan completar el 90 % del proceso, crea un perfil personalizado que herede del que más se acerque y anule los parámetros restantes. Empieza con un directorio y un archivo de configuración:

mkdir -p /etc/tuned/ai-gpu
cat > /etc/tuned/ai-gpu/tuned.conf <<'EOF'
[main]
summary=Custom profile for GPU training with high-bandwidth networking
include=accelerator-performance
 
[cpu]
governor=performance
 
[sysctl]
kernel.numa_balancing=0
net.core.rmem_max=268435456
net.core.wmem_max=268435456
net.ipv4.tcp_rmem=4096 87380 268435456
net.ipv4.tcp_wmem=4096 65536 268435456
 
[vm]
transparent_hugepages=never
 
[bootloader]
cmdline=hugepagesz=2M hugepages=16384 <a target="_blank" rel="noopener noreferrer" href="https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit">iommu</a>=pt
EOF
 
tuned-adm profile ai-gpu

Las opciones clave aquí:

  • numa_balancing=0 impide que el kernel migre memoria entre sockets durante las ejecuciones de entrenamiento, una causa habitual de ralentización en equipos con GPU de doble socket.
  • El rmem_max y tcp_rmem aumentan el límite máximo del búfer de socket a 256 MB. En interconexiones de 25G, 40G o 100G entre nodos de entrenamiento, los tamaños de búfer predeterminados limitan el rendimiento muy por debajo de la velocidad de línea.
  • transparent_hugepages=never elimina la fluctuación de latencia que THP provoca en marcos como PyTorch y TensorFlow que asignan tensores de gran tamaño.
  • iommu=pt pone IOMMU en modo de paso directo, necesario para el paso directo de GPU y NIC, y reduce la sobrecarga en el DMA de hardware puro.

Cualquier cosa por debajo de [bootloader] requiere un reinicio. Tras activar el perfil, ejecute tuned-adm verify para confirmar que se han aplicado los parámetros de tiempo de ejecución y compruebe journalctl -u tuned si hay errores. Realiza pruebas de rendimiento antes y después con iostat -xz, numastaty la herramienta de carga de trabajo pertinente (iperf3, fioo la ejecución de entrenamiento real).

Una compensación que vale la pena dejar clara: desactivar las medidas de seguridad de la CPU supone una ganancia de aproximadamente un 3-8 % en cargas de trabajo de GPU, pero un coste del 15-30 % en cargas de trabajo con patrones intensivos de llamadas al sistema. Decida en función del modelo de amenazas del equipo. Dentro de un clúster de entrenamiento dedicado protegido por un cortafuegos, las cifras suelen favorecer su desactivación. En un host multitenant, déjelas activadas.

Gestión de perfiles en un parque de servidores

La aplicación de tuned de forma manual deja de ser viable cuando se supera un puñado de servidores. Ansible se encarga de esto de forma limpia. Un único playbook instala tuned, coloca los directorios de perfiles personalizados en /etc/tuned/ a través del template módulo, y aplica el perfil adecuado por grupo de inventario.

Asignar perfiles a roles en el inventario:

  • Nodos de GPU e IA: accelerator-performance, o un perfil personalizado que herede de él
  • Servidores de bases de datos: throughput-performance o el perfil específico del motor
  • Nodos CDN y de borde que transmiten tráfico de gran ancho de banda: network-throughput
  • Servidores API y web detrás de un equilibrador de carga: network-latency
  • VPS y máquinas invitadas KVM: virtual-guest
  • Hosts de hipervisor: virtual-host

La deriva es el verdadero problema operativo. Los sysctl , las actualizaciones de paquetes que incluyen nuevos valores predeterminados u otra herramienta de gestión de la configuración que interfiera con Tuned provocarán que los ajustes se desvíen de lo que indica el perfil. Programa una tarea de Ansible para que se ejecute tuned-adm active y tuned-adm verify en cron y que avise en caso de fallos. Busca /var/log/tuned/tuned.log las líneas que indiquen «Verificación fallida».

Conclusión

tuned elimina la mayor parte de las conjeturas del ajuste del kernel y de sysctl. Los valores predeterminados son suficientes para un uso general, y los perfiles específicos para cargas de trabajo como accelerator-performance, throughput-performance, y network-throughput te permiten alcanzar casi la optimización sin tener que escribir ni un solo archivo de configuración.

  • Elige el perfil predeterminado más cercano, ejecuta tuned-adm verifyy, a continuación, realiza una prueba de rendimiento
  • Crea perfiles personalizados heredando de un perfil predeterminado y sobrescribiendo solo lo que necesites
  • Sé cuidadoso con el equilibrio NUMA, las páginas gigantes y los tamaños de los búferes de red en equipos con GPU y de gran ancho de banda
  • Implemente con Ansible y realice auditorías periódicas para detectar desviaciones

¿Necesitas capacidad bare-metal con margen de ancho de banda para utilizar realmente esta configuración? Habla con FDC sobre servidores dedicados diseñados para cargas de trabajo de alto rendimiento y GPU.

Blog

Destacados de la semana

Más artículos
Perfiles ajustados para la optimización de la carga de trabajo de servidores Linux

Perfiles ajustados para la optimización de la carga de trabajo de servidores Linux

Cómo elegir, aplicar y personalizar perfiles ajustados para GPU, bases de datos y servidores Linux de gran ancho de banda, con ejemplos y consejos de implementación de Ansible.

16 min de lectura - 9 de junio de 2026

Linux OOM Killer Tuning for VPS: Una Guía Práctica

12 min de lectura - 8 de junio de 2026

Más artículos