¿Qué es el espacio de intercambio?
El espacio de intercambio en Linux se usa cuando la cantidad de memoria física (RAM) está llena. Si el sistema necesita más recursos de memoria y la memoria física está llena, las páginas inactivas de la memoria se mueven al espacio de intercambio. Si bien el espacio de intercambio puede ayudar a las máquinas con una pequeña cantidad de RAM, no debe considerarse un reemplazo para más RAM. El espacio de intercambio se encuentra en los discos duros, que tienen un tiempo de acceso más lento que la memoria física.
El espacio de intercambio puede ser una partición de intercambio dedicada (recomendado), un archivo de intercambio o una combinación de particiones de intercambio y archivos de intercambio.
¿Qué es una partición de intercambio?
Las particiones de intercambio son muy diferentes de los sistemas de archivos. Los sistemas de archivos (generalmente) almacenan árboles de nodos de directorio para hacer referencia a inodos de archivos, que luego hacen referencia a los bloques en los archivos. Todo en el disco tiene o tuvo un nombre una vez, y puede reconstruir qué bloques están en qué archivos o directorios o ya no están en uso con bastante facilidad. (fsck hace esto en cada reinicio no limpio).
Las particiones de intercambio contienen páginas de memoria "aleatorias" de procesos que no se usaron con la frecuencia suficiente para mantenerlos fuera del intercambio. Esos fragmentos no incluirán bibliotecas ni ejecutables. El intercambio solo contendrá páginas creadas sobre la marcha por las aplicaciones para datos. No hay información de pedido sobre el intercambio que realmente se encuentra en la partición de intercambio, toda esa información es significativa solo cuando la máquina se está ejecutando y es probable que la máquina la necesite con urgencia, por lo que las tablas de mapeo de páginas se almacenan en un núcleo no intercambiable. memoria.
¿Qué es un archivo de intercambio?
En algunas situaciones, es difícil agregar una nueva partición de intercambio. Linux no permite cambiar las definiciones de partición y si no podemos agregar nuevas particiones sin eliminar las particiones existentes. En este caso, los archivos de intercambio pueden ser útiles.
¿Cómo agregar un archivo de intercambio?
Determine el tamaño del nuevo archivo de intercambio y multiplíquelo por 1024 para determinar el tamaño del bloque. Por ejemplo, el tamaño de bloque de un archivo de intercambio de 64 MB es 65536. En un indicador de shell como usuario root, escriba el siguiente comando con un recuento igual al tamaño de bloque deseado:
# mkdir /data2 # dd if=/dev/zero of=/data2/swapfile1 bs=1024 count=65536
Configure el archivo de intercambio con el comando:
# mkswap /data2/swapfile1
Para habilitar el archivo de intercambio inmediatamente pero no automáticamente en el momento del arranque:
# swapon /data2/swapfile1
Para habilitarlo en el momento del arranque, edite /etc/fstab para incluir:
/data2/swapfile1 swap swap defaults 0 0
La próxima vez que se inicie el sistema, habilitará el nuevo archivo de intercambio.
¿Cómo agregar una partición de intercambio y un volumen de intercambio?
Consulte la publicación a continuación para obtener un procedimiento detallado.
Cómo agregar espacio de intercambio en Linux¿Cómo puedo saber cuánto espacio de intercambio está configurado en mi Linux?
Usa la swapon -s comando para obtener los detalles de intercambio. Esto le dirá cuánto se ha asignado para el intercambio y cuánto se está utilizando. Por ejemplo:
# swapon -s Filename Type Size Used Priority /dev/dm-0 partition 2097148 0 -1
¿Cuál es la diferencia entre intercambio y paginación?
El intercambio es uno de los mecanismos de Unix para adaptarse a la limitación de tamaño de la memoria al mover procesos completos al disco para recuperar memoria.
La paginación es otro mecanismo de Unix para gestionar las limitaciones de la memoria. A diferencia del intercambio, donde los procesos completos se mueven dentro y fuera de la memoria, la paginación mueve solo páginas individuales de procesos al disco. La paginación no es un problema tan serio como el intercambio, ya que el programa completo no tiene que residir en la memoria para ejecutarse. Es posible que una pequeña cantidad de paginación no afecte notablemente el rendimiento de un sistema. Sin embargo, el rendimiento de un sistema puede degradarse rápidamente a medida que aumenta la actividad de paginación.
El espacio de intercambio en el disco se utiliza para almacenar páginas de memoria que se han paginado o intercambiado. La escasez de espacio de intercambio puede causar síntomas como bloqueo del sistema, tiempos de respuesta deficientes y generación fallida de nuevos procesos.
¿Cómo puedo habilitar el intercambio?
Primero verifique si el intercambio está habilitado:
# swapon -s
Para habilitar el intercambio, busque entradas de intercambio en su /etc/fstab
# grep swap /etc/fstab /dev/mapper/centos-swap swap swap defaults 0 0
y use el comando '/sbin/swapon -a' para habilitar todas las particiones de intercambio enumeradas en /etc/fstab.
# swapon -a
¿Cómo eliminar la partición de intercambio?
Si la partición de intercambio no está actualmente en uso, puede desmontar el intercambio con el comando swapoff. En un indicador de shell como raíz, ejecute el siguiente comando para asegurarse de que la partición de intercambio esté deshabilitada (donde /dev/hdb2 es la partición de intercambio):
# swapoff /dev/hdb2
Elimina su entrada de /etc/fstab. Elimina la partición usando parted o fdisk.
¿Cómo eliminar el archivo de intercambio?
Como root, ejecute el siguiente comando para deshabilitar el archivo de intercambio (donde /swapfile1 es el archivo de intercambio):
# swapoff /data2/swapfile1
Elimine su entrada de /etc/fstab y elimine el archivo real:
# rm /data2/swapfile1
¿Cómo eliminar la partición de intercambio?
Si la partición de intercambio no está actualmente en uso, puede desmontar el intercambio con el comando swapoff. En un indicador de shell como raíz, ejecute el siguiente comando para asegurarse de que la partición de intercambio esté deshabilitada (donde /dev/hdb2 es la partición de intercambio):
# swapoff /dev/hdb2
Elimina su entrada de /etc/fstab. Elimina la partición usando parted o fdisk.
¿Cómo eliminar el archivo de intercambio?
Como root, ejecute el siguiente comando para deshabilitar el archivo de intercambio (donde /swapfile1 es el archivo de intercambio):
# swapoff /data2/swapfile1
Elimine su entrada de /etc/fstab y elimine el archivo real:
# rm /data2/swapfile1
Cómo verificar el uso de intercambio
Para verificar el uso de intercambio, puede usar cualquiera de las siguientes utilidades:
1. gratis
# free total used free shared buffers cached Mem: 1004608 934036 70572 0 30124 769640 -/+ buffers/cache: 134272 870336 Swap: 1060248 0 1060248
2. /proc/meminfo
# grep Swap /proc/meminfo SwapCached: 0 kB SwapTotal: 1060248 kB SwapFree: 1060248 kB
3. parte superior
# top ....... Mem: 1004608k total, 934780k used, 69828k free, 30124k buffers Swap: 1060248k total, 0k used, 1060248k free, 770156k cached .......
4. vmstat
# vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 69828 30124 770156 0 0 40 403 23 22 0 1 99 0 0Preguntas de la entrevista de Linux:permisos especiales (SUID, SGID y sticky bit)