En este módulo, aprenderás a monitorear y optimizar el rendimiento de un sistema Linux. Estas habilidades son cruciales para mantener un sistema eficiente y detectar problemas antes de que afecten a los usuarios.
- Introducción al Monitoreo del Sistema
Conceptos Clave
- Monitoreo del Sistema: Proceso de supervisar el rendimiento y la salud de un sistema.
- Métricas de Rendimiento: Datos que indican el estado del sistema, como uso de CPU, memoria, disco y red.
Herramientas Comunes
- top: Muestra los procesos en ejecución y el uso de recursos.
- htop: Versión mejorada de
top
con una interfaz más amigable. - vmstat: Proporciona estadísticas sobre procesos, memoria, paginación, bloqueos de E/S y CPU.
- iostat: Muestra estadísticas de entrada/salida del sistema.
- netstat: Muestra estadísticas de red.
- sar: Recopila, reporta y guarda información sobre la actividad del sistema.
Ejemplo Práctico: Uso de top
- PID: Identificador del proceso.
- USER: Usuario que ejecuta el proceso.
- PR: Prioridad del proceso.
- %CPU: Porcentaje de CPU utilizado por el proceso.
- %MEM: Porcentaje de memoria utilizado por el proceso.
- TIME+: Tiempo total de CPU utilizado por el proceso.
- Monitoreo de CPU
Comandos y Herramientas
- mpstat: Muestra estadísticas de CPU.
- sar -u: Muestra el uso de CPU.
Ejemplo Práctico: Uso de mpstat
- %usr: Tiempo de CPU en modo usuario.
- %sys: Tiempo de CPU en modo sistema.
- %idle: Tiempo de CPU inactivo.
- Monitoreo de Memoria
Comandos y Herramientas
- free: Muestra la cantidad de memoria libre y usada en el sistema.
- vmstat: Proporciona estadísticas de memoria.
Ejemplo Práctico: Uso de free
- total: Memoria total.
- used: Memoria usada.
- free: Memoria libre.
- shared: Memoria compartida.
- buff/cache: Memoria en buffers y caché.
- available: Memoria disponible para nuevos procesos.
- Monitoreo de Disco
Comandos y Herramientas
- df: Muestra el uso del sistema de archivos.
- du: Muestra el uso del disco por directorio.
- iostat: Muestra estadísticas de entrada/salida del disco.
Ejemplo Práctico: Uso de df
- Filesystem: Sistema de archivos.
- Size: Tamaño total del sistema de archivos.
- Used: Espacio usado.
- Avail: Espacio disponible.
- Use%: Porcentaje de uso.
- Mounted on: Punto de montaje.
- Monitoreo de Red
Comandos y Herramientas
- ifconfig: Configura interfaces de red.
- netstat: Muestra estadísticas de red.
- ss: Muestra estadísticas de sockets.
Ejemplo Práctico: Uso de netstat
- Proto: Protocolo (TCP/UDP).
- Recv-Q: Cola de recepción.
- Send-Q: Cola de envío.
- Local Address: Dirección local.
- Foreign Address: Dirección remota.
- State: Estado de la conexión.
- Optimización del Rendimiento
Conceptos Clave
- Optimización de CPU: Ajustar la prioridad de los procesos.
- Optimización de Memoria: Liberar memoria no utilizada.
- Optimización de Disco: Desfragmentar y limpiar el disco.
- Optimización de Red: Ajustar parámetros de red para mejorar el rendimiento.
Ejemplo Práctico: Ajuste de Prioridad de Procesos
- -n 10: Ajusta la prioridad del proceso a 10.
- -p 1234: Identificador del proceso.
- Ejercicios Prácticos
Ejercicio 1: Monitoreo de CPU
- Ejecuta el comando
mpstat
y analiza la salida. - Identifica el porcentaje de tiempo que la CPU está inactiva.
Ejercicio 2: Monitoreo de Memoria
- Ejecuta el comando
free -h
y analiza la salida. - Identifica cuánta memoria está disponible para nuevos procesos.
Ejercicio 3: Monitoreo de Disco
- Ejecuta el comando
df -h
y analiza la salida. - Identifica el sistema de archivos con mayor uso.
Ejercicio 4: Monitoreo de Red
- Ejecuta el comando
netstat -tuln
y analiza la salida. - Identifica las conexiones activas en el sistema.
Soluciones
Ejercicio 1
- %idle: Indica el porcentaje de tiempo que la CPU está inactiva.
Ejercicio 2
- available: Indica la cantidad de memoria disponible para nuevos procesos.
Ejercicio 3
- Use%: Indica el porcentaje de uso del sistema de archivos.
Ejercicio 4
- State: Indica el estado de las conexiones activas.
Conclusión
En esta sección, has aprendido a utilizar diversas herramientas para monitorear el rendimiento del sistema y a aplicar técnicas de optimización. Estas habilidades te permitirán mantener un sistema Linux eficiente y detectar problemas antes de que se conviertan en críticos. En el próximo módulo, profundizaremos en la configuración de redes y la seguridad en Linux.
Maestría en Linux: De Principiante a Avanzado
Módulo 1: Introducción a Linux
- ¿Qué es Linux?
- Historia de Linux
- Distribuciones de Linux
- Instalando Linux
- Estructura del Sistema de Archivos de Linux
Módulo 2: Comandos Básicos de Linux
- Introducción a la Línea de Comandos
- Navegando el Sistema de Archivos
- Operaciones de Archivos y Directorios
- Visualización y Edición de Archivos
- Permisos y Propiedad de Archivos
Módulo 3: Habilidades Avanzadas en la Línea de Comandos
- Uso de Comodines y Expresiones Regulares
- Tuberías y Redirección
- Gestión de Procesos
- Programación de Tareas con Cron
- Comandos de Redes
Módulo 4: Scripting en Shell
- Introducción al Scripting en Shell
- Variables y Tipos de Datos
- Estructuras de Control
- Funciones y Librerías
- Depuración y Manejo de Errores
Módulo 5: Administración del Sistema
- Gestión de Usuarios y Grupos
- Gestión de Discos
- Gestión de Paquetes
- Monitoreo del Sistema y Optimización del Rendimiento
- Respaldo y Restauración
Módulo 6: Redes y Seguridad
- Configuración de Redes
- Firewall y Seguridad
- SSH y Acceso Remoto
- Sistemas de Detección de Intrusos
- Asegurando Sistemas Linux
Módulo 7: Temas Avanzados
- Virtualización con Linux
- Contenedores de Linux y Docker
- Automatización con Ansible
- Optimización del Kernel de Linux
- Alta Disponibilidad y Balanceo de Carga