Capítulo 2.3 - Gestión de Memoria y Swap
Objetivos de Aprendizaje
Al final de este capítulo, usted será capaz de:
- Comprender cómo Linux gestiona la memoria
- Explicar la memoria virtual y la paginación
- Comprender el swap y su función
- Monitorizar el uso de memoria
- Optimizar el uso de memoria
¿Qué es la Gestión de Memoria?
Linux utiliza un sistema sofisticado de gestión de memoria que combina memoria física (RAM) y memoria virtual (swap) para optimizar el rendimiento y permitir la ejecución de más procesos que la RAM disponible.
Memoria Física vs Memoria Virtual
Memoria Física (RAM)
- Rápida: Acceso directo por la CPU
- Limitada: Cantidad fija instalada
- Volátil: Se pierde al reiniciar
- Costosa: Más cara que el almacenamiento en disco
Memoria Virtual
- Abstracta: Cada proceso ve un espacio de memoria virtual
- Paginación: Dividida en páginas (generalmente 4KB)
- Mapeo: Páginas virtuales mapeadas a RAM o swap
- Protección: Aislamiento entre procesos
Paginación y MMU
La MMU (Memory Management Unit) gestiona la traducción de direcciones:
Swap
El swap es un espacio en disco utilizado como extensión de la RAM:
Funciones:
- Extensión de la memoria disponible
- Soporte para más procesos
- Mejora de la estabilidad
Tipos:
- Partición swap: Partición dedicada (recomendado)
- Archivo swap: Archivo de swap (más flexible)
Configuración:
# Voir le swap
free -h
swapon --show
# Créer un fichier swap
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# Activer au démarrage
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Monitorización de Memoria
Comandos de Monitorización
# Vue d'ensemble
free -h
# Détails par processus
top
htop
# Statistiques détaillées
cat /proc/meminfo
# Utilisation par processus
ps aux --sort=-%mem | head
Interpretación
- MemTotal: RAM total
- MemFree: RAM libre
- MemAvailable: RAM disponible (libre + caché recuperable)
- SwapTotal: Swap total
- SwapFree: Swap libre
Optimización de Memoria
Buenas Prácticas
-
Monitorizar regularmente
- Utilizar
free,top,htop - Identificar los procesos que consumen más recursos
- Utilizar
-
Ajustar el swap
- Tamaño recomendado: 1-2x la RAM
- Más si el servidor tiene mucha RAM
-
Limitar los procesos
- Utilizar
ulimitpara limitar la memoria - Configurar OOM killer
- Utilizar
-
Limpiar la caché
# Liberar la caché (si es necesario)
sync
echo 3 | sudo tee /proc/sys/vm/drop_caches
Resumen
En este capítulo, usted ha aprendido:
Gestión de Memoria: RAM + Swap para optimizar el rendimiento
Memoria Virtual: Abstracción para cada proceso
Paginación: División en páginas, gestión por la MMU
Swap: Extensión de la RAM en disco
Monitorización: free, top, htop, /proc/meminfo
Optimización: Monitorización, ajuste de swap, límites
Próximos Pasos
Capítulo 2.4: Sistema de Archivos Virtual (VFS)
Capítulo 2.5: Gestión de Procesos
Capítulo creado el: diciembre 2024