Laboratorio Tuning
Objetivos
- Configurar perfiles de ajuste con tuned para mejorar el rendimiento del sistema.
- Identificar y comparar diferentes perfiles de optimización según la carga de trabajo.
- Ajustar la prioridad de procesos con nice y renice para optimizar el uso de CPU.
- Evaluar el impacto de las modificaciones de prioridad en la ejecución de tareas.
- Aplicar técnicas de monitoreo de rendimiento para tomar decisiones de ajuste eficientes.
Entorno Inicial
- Usuario: student
- Máquina: servera
- Contraseña inicial: student
- Herramientas utilizadas: Shell Bash y utilidades básicas de Linux.
Pasos del Laboratorio
Prerequisitos
-
Inicio de sesión
-
Inicia sesión en la máquina
serveradesdebastioncomo el usuariostudentutilizando la llave privada proporcionada:ssh student-#-servera
-
Parte 1: Configuración y Verificación de tuned
-
Cambiar a superusuario
- Usa el comando sudo -i para obtener privilegios de root:
sudo -i
- Usa el comando sudo -i para obtener privilegios de root:
-
Instalar y habilitar tuned
- Instalar el paquete:
dnf install tuned -y - Verificar que el servicio está habilitado:
systemctl is-enabled tuned - Salida esperada:
enabled - Confirmar que el servicio está en ejecución:
systemctl is-active tuned - Salida esperada:
active
- Instalar el paquete:
-
Listar los perfiles de ajuste disponibles
- Ver los perfiles disponibles:
sudo tuned-adm list - Ejemplo de salida:
Available profiles: - balanced - desktop - latency-performance - network-latency - network-throughput - powersave - throughput-performance - virtual-guest - virtual-host
- Ver los perfiles disponibles:
-
Verificar el perfil activo
- Consultar el perfil activo:
sudo tuned-adm active - Ejemplo de salida:
Current active profile: virtual-guest
- Consultar el perfil activo:
-
Revisar la configuración del perfil activo
- Inspeccionar el archivo de configuración del perfil virtual-guest:
cat /usr/lib/tuned/virtual-guest/tuned.conf - Ejemplo de parámetros configurados:
[sysctl] vm.dirty_ratio = 30 vm.swappiness = 30
- Inspeccionar el archivo de configuración del perfil virtual-guest:
-
Verificar que estos valores están aplicados en el sistema
- Consultar los valores actuales:
sysctl vm.dirty_ratio vm.swappiness - Salida esperada:
vm.dirty_ratio = 30 vm.swappiness = 30
- Consultar los valores actuales:
Parte 2: Ajuste de Prioridad de Procesos con nice y renice
-
Determinar la cantidad de núcleos de CPU
- Contar los procesadores virtuales en el sistema:
grep -c '^processor' /proc/cpuinfo - Ejemplo de salida:
2 - Esto indica que el sistema tiene 2 núcleos de CPU.
- Contar los procesadores virtuales en el sistema:
-
Iniciar procesos de carga de CPU
- Usar un bucle para iniciar dos instancias del comando sha1sum /dev/zero & por cada núcleo de CPU:
for i in {1..4}; do sha1sum /dev/zero & done - Ejemplo de salida:
[1] 1132 [2] 1133 [3] 1134 [4] 1135
- Usar un bucle para iniciar dos instancias del comando sha1sum /dev/zero & por cada núcleo de CPU:
-
Verificar que los procesos están en ejecución
- Listar los procesos en segundo plano:
jobs - Ejemplo de salida:
[1] Running sha1sum /dev/zero & [2] Running sha1sum /dev/zero & [3]- Running sha1sum /dev/zero & [4]+ Running sha1sum /dev/zero &
- Listar los procesos en segundo plano:
-
Visualizar el uso de CPU de los procesos
- Mostrar el porcentaje de uso de CPU de cada proceso sha1sum:
ps u $(pgrep sha1sum) - Ejemplo de salida:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND student 1132 49.6 0.1 225336 2288 pts/0 R 11:40 2:40 sha1sum /dev/zero student 1133 49.6 0.1 225336 2296 pts/0 R 11:40 2:40 sha1sum /dev/zero student 1134 49.6 0.1 225336 2264 pts/0 R 11:40 2:40 sha1sum /dev/zero student 1135 49.6 0.1 225336 2280 pts/0 R 11:40 2:40 sha1sum /dev/zero
- Mostrar el porcentaje de uso de CPU de cada proceso sha1sum:
-
Cerrar los procesos en ejecución
- Detener todos los procesos sha1sum:
pkill sha1sum - Verificar que no haya trabajos en ejecución:
jobs
- Detener todos los procesos sha1sum:
-
Iniciar procesos con diferentes niveles nice
- Iniciar tres instancias normales de sha1sum /dev/zero &:
for i in {1..3}; do sha1sum /dev/zero & done - Iniciar una cuarta instancia con un nivel nice de 10:
nice -n 10 sha1sum /dev/zero &
- Iniciar tres instancias normales de sha1sum /dev/zero &:
-
Verificar el impacto del nivel nice en el uso de CPU
- Mostrar el PID, uso de CPU y nivel nice de cada proceso:
ps -o pid,pcpu,nice,comm $(pgrep sha1sum) - Ejemplo de salida:
PID %CPU NI COMMAND 1207 64.2 0 sha1sum 1208 65.0 0 sha1sum 1209 63.9 0 sha1sum 1210 8.2 10 sha1sum - La instancia con nice=10 usa menos CPU que las demás.
- Mostrar el PID, uso de CPU y nivel nice de cada proceso:
-
Modificar la prioridad de un proceso con renice
- Reducir el nivel nice del proceso con PID 1210 de 10 a 5:
sudo renice -n 5 1210 - Salida esperada:
student 1210 (process ID) old priority 10, new priority 5
- Reducir el nivel nice del proceso con PID 1210 de 10 a 5:
-
Verificar el nuevo uso de CPU tras el ajuste de nice
- Observar el impacto del cambio de prioridad:
ps -o pid,pcpu,nice,comm $(pgrep sha1sum) - Ejemplo de salida:
PID %CPU NI COMMAND 1207 62.9 0 sha1sum 1208 63.2 0 sha1sum 1209 63.2 0 sha1sum 1210 10.9 5 sha1sum - La instancia con nice=5 ahora usa más CPU que antes.
- Observar el impacto del cambio de prioridad:
-
Cerrar los procesos en ejecución
- Detener todos los procesos sha1sum:
pkill sha1sum
- Detener todos los procesos sha1sum:
-
Salir de
serveray volver albastion- Salir de la sesión remota:
exit
- Salir de la sesión remota:
Resultados Esperados
- Los participantes podrán seleccionar y activar perfiles tuned adecuados para su entorno.
- Se comprenderá cómo la prioridad de procesos influye en la asignación de recursos de CPU.
- Se ajustarán valores nice de procesos para mejorar la ejecución de tareas críticas.
- Se analizarán métricas de rendimiento para evaluar la efectividad de los ajustes aplicados.
- Se optimizará la configuración del sistema para lograr un equilibrio entre rendimiento y estabilidad.