THP Service
Rol Ansible: THP Service
Descripción
El rol THP Service se utiliza para gestionar el estado de Transparent Huge Pages (THP)
en sistemas Linux mediante un único servicio systemd de tipo oneshot.
El objetivo principal del rol es permitir habilitar o deshabilitar THP de forma persistente utilizando una sola variable de Ansible, sin depender de scripts ad-hoc ni configuraciones manuales en cada arranque del sistema.
Repositorio del rol:
¿Qué son Transparent Huge Pages (THP)?
Transparent Huge Pages es una funcionalidad del kernel Linux que intenta mejorar el rendimiento utilizando páginas de memoria de mayor tamaño de forma automática.
Aunque puede ser beneficioso en algunos escenarios, en otros (bases de datos, aplicaciones Java, entornos de baja latencia, clústeres, etc.) puede provocar:
- Latencias impredecibles
- Penalización de rendimiento
- Problemas de estabilidad
Por este motivo, en muchos entornos empresariales se requiere deshabilitar THP de forma persistente.
¿Qué hace este rol?
Este rol realiza las siguientes acciones:
- Crea un servicio
systemdllamadothp-configuration.service - El servicio se ejecuta una sola vez (
oneshot) - Escribe los valores adecuados en:
/sys/kernel/mm/transparent_hugepage/enabled/sys/kernel/mm/transparent_hugepage/defrag
- Garantiza que la configuración se aplique:
- En tiempo de ejecución
- En cada arranque del sistema
- Permite cambiar el estado de THP modificando una única variable
Ventajas del enfoque
Este diseño aporta varias ventajas frente a métodos tradicionales:
- No depende de scripts en
/etc/rc.local - No requiere tareas periódicas (cron)
- Es compatible con
systemd - Es idempotente
- Fácil de auditar
- Fácil de revertir
Nota final
Este rol no pretende decidir si THP debe estar habilitado o no, sino proporcionar un mecanismo limpio, controlado y reutilizable para gestionar su estado de forma coherente en toda la infraestructura.