Características de crear y conectar un archivo de intercambio a Linux

Características de crear y conectar un archivo de intercambio a Linux

La cantidad de RAM en la computadora es limitada. La mayoría de las veces para consideraciones financieras, aunque puramente técnicamente, no puede establecer más en una placa base específica de lo que se supone por sus especificaciones. Y si es así, las situaciones en las que hay una falta de memoria no son infrecuentes, especialmente para los sistemas operativos de varios condiciones. Estos incluyen Linux, y aunque se considera menos exigente en los recursos de la PC, tampoco se puede llamar ideal. La deficiencia de RAM se resuelve de diferentes maneras. Uno de los más óptimos es el uso de un archivo o sección en un disco, donde los datos se almacenan temporalmente que se extraen en la memoria física según sea necesario.

Que es swap

El sistema operativo en forma de Linux bajo el intercambio comprende el mecanismo de la organización de la memoria virtual, en la que parte de los datos almacenados en la RAM (generalmente rara vez usado) se mueve al almacenamiento temporal en una sección o archivo especial en un estado duro o sólido disco.

Todo el volumen de memoria física en Linux se divide en páginas. Según es necesario, el contenido de las páginas individuales se mueve al disco dedicado llamado Swap Space o a un archivo separado (análogo del archivo de bombeo en Windows). El proceso de liberación del OP en sí se llama intercambio, y se llama el tamaño total de la memoria física y de intercambio: el volumen de memoria virtual accesible.

¿Para qué es un intercambio?

La multitarea no significa la apertura simultánea de muchos programas. Incluso si lanzamos un navegador, utiliza muchas bibliotecas, cada una de las cuales usa su propia área de memoria. Cada nueva pestaña, cada documento abierto es cada vez más páginas de memoria, que pueden no ser suficientes en cierto punto en el tiempo.

Y si no hay páginas gratuitas para la nueva pestaña, el sistema operativo se ve obligado a participar en la versión de memoria. Y qué liberar si todas las páginas están ocupadas con los datos o caché necesarios? Que se usa con menos frecuencia. Pero tarde o temprano, se necesitará un código descargado, pero no estará en la memoria. Esta situación se llama Fault Page, y el sistema operativo tendrá que procesarlo mediante un nuevo. Si no se encuentran los datos faltantes en el disco, el proceso finalizará la emergencia. Si es así, el sistema descargará el código del disco, pero para esto necesitará liberar un cierto número de otras páginas de memoria. Como resultado, comienza el proceso llamado basura, cuando el sistema operativo se dedica solo a eso, que libera nuevas páginas, eliminando sus contenidos y cargando los datos faltantes en ellos.

La presencia de un archivo de intercambio solo resuelve este dilema. En lugar de simplemente limpiar las páginas de la memoria, el sistema deja caer su contenido al disco, lo que, por así decirlo, expande el volumen de RAM física. Al mismo tiempo, la basura se reemplaza por un solo procedimiento de lectura/grabación.

Por supuesto, describimos el proceso de manera bastante esquemática, de hecho, tiene muchos matices y un algoritmo de implementación bastante complicado. En cualquier caso, la imagen es la siguiente: si hace un archivo de intercambio lo suficientemente grande, rara vez se usa y no cambia los datos cuando un déficit de la RAM "deja" a un disco, donde, si es necesario, se pueden eliminar tantas veces como necesario.

Si la sección de archivo/swing es pequeña, habrá pocos beneficios de ella, porque tarde o temprano el espacio libre se agotará, y luego "bailar" con constantes operaciones de grabación en el archivo de pimienta comenzará nuevamente, lo que será muy ralentizado, que será muy ralentizado por el sistema.

Respondiendo la pregunta sobre la necesidad de intercambio en Linux, se puede argumentar lo siguiente:

  • Ayuda a descargar el sistema cuando el programa solicita el volumen de memoria física, que no está en el sistema. En tales casos, el núcleo de Linux analiza qué páginas se produce la apelación con menos frecuencia, deja su contenido al disco y distingue el número requerido de páginas al proceso actual;
  • La peculiaridad de muchos programas es que en el momento de su lanzamiento, parte de las páginas está ocupada con los datos que se usan solo en el momento de la inicialización del proceso/aplicación. El sistema puede y debe dejar estas páginas en intercambio, descargando el OP.

Pero no todo es tan simple. El intercambio tampoco está privado de fallas, la principal es la velocidad de las operaciones de grabación/lectura desde un disco. Baste decir que en transacciones con memoria física, esta velocidad se mide en nanosegundos (solo mire las características de los chips OM), y para un disco duro es un milisegundo, es decir, varias órdenes de magnitud más. El tipo de cambio de datos de SSD tiene mucho más tipo de cambio de datos, pero debido a la interfaz lenta, todavía son incomparables con los indicadores de RAM. Por lo tanto, resulta que con descargas frecuentes de las páginas de memoria en el intercambio, el sistema también puede funcionar más lento.

Esto es especialmente común si la computadora se usa como servidor, y con Linux esta es la mayoría de la PC. Con una falta de memoria, las bases de datos generalmente caen en el número de las primeras víctimas, y si es MySQL, entonces su caída amenaza Sección: deje que el sitio funcione mejor de lo que estará completamente disponible.

Cómo crear y configurar un archivo de swing utilizando el ejemplo de Ubuntu

El procedimiento para crear un archivo de bombeo es bastante complicado, lo que requiere ciertas habilidades para trabajar con la línea de comando.

Y la primera etapa: debemos averiguar si hay una sección o archivo seleccionado en Swap en el sistema.

Verificar la disponibilidad de intercambio en Ubuntu

Usamos el comando:

Swapon -S

o

gratis -m

Si el intercambio está ausente, en el primer caso obtendrá una línea resultante vacía, en la segunda, una tabla de uso de memoria virtual en la que la línea de intercambio contendrá ceros.

Si no hay archivo de bombeo, debe decidir si es posible crearlo.

Verificar la presencia de espacio libre en el disco

Realizamos el comando

DF -H

Se mostrará una tabla de aproximadamente el siguiente contenido:

El disco tiene aproximadamente 23 GB de espacio libre, esto es más que suficiente para crear un archivo de intercambio.

¿Qué tamaño crear intercambio?

El tamaño del archivo de bombeo depende de muchos factores:

  • cuánto RAM hay en el sistema;
  • ¿Cuál es la composición de los programas/aplicaciones utilizadas?
  • ¿Tiene la intención de usar el modo de suspensión?
  • ¿Se utilizarán los archivos secretos?.

Por supuesto, el aspecto principal es el volumen de la memoria física. Si es de menos de 2 GB, el archivo SAWP se necesita más de 1.5-2 veces más grande, es decir, hasta 4 GB.

Si tiene 3-4 GB de RAM, decida primero si usará el modo de suspensión. Si es así, es aconsejable elegir el volumen del archivo de bombeo desde el cálculo del 110-115% de la cantidad de RAM, si no, la opción ideal es el archivo de intercambio del mismo volumen.

Si tiene una computadora poderosa y el volumen del OP excede los 6 GB, el tamaño del archivo de intercambio en Linux selecciona del cálculo de la mitad de la cantidad de RAM. Si se planea usar el modo de hibernación, se puede requerir un experimento para averiguar cuánto RAM se usa para el modo de suspensión y elegir un valor basado en los resultados obtenidos. Afortunadamente, puede formar un archivo de swing en cualquier momento, no necesariamente en la etapa de la instalación de Linux.

Tamaños recomendados del archivo de intercambio en Linux en la documentación Fedora

Creación de un archivo de intercambio en Linux

El procedimiento para crear un archivo de bombeo en Linux tiene varias opciones, una de las cuales se considera tradicional y el otro se acelera.

Para empezar, nos familiarizaremos con la forma rápida, que consiste en el uso de un equipo:

Fallocate -L 2G/Swapfile

Aquí el segundo parámetro indica el tamaño del archivo creado, expresado en GB (si la letra no está indicada, el sistema interpretará el parámetro en la oficina de diseño, esto debe tenerse en cuenta).

En este caso, el archivo se creará y estará disponible inmediatamente después de ejecutar el comando, por lo que se recomienda utilizar este método particular.

La segunda opción, tradicional:

Dd if =/dev/cero of =/swapfile bs = 1m count = 2096

Aquí el parámetro BS indica en qué unidades establecemos el tamaño de un bloque para el archivo de intercambio. En este caso - 1 megabyt. El parámetro de conteo indica el número de dichos bloques asignados al archivo de bombeo, y la cantidad de 2 GB se obtiene en total, como en la primera versión.

El equipo DD en sí en Linux significa una copia de tono, el parámetro IF indica dónde copiar, en nuestro caso es /dev /cero- un archivo especial con bytes cero. El parámetro indica que registraremos estos bytes cero en el archivo /swapfile.

Tenga en cuenta que al usar este comando, el error es inaceptable. Si indica incorrectamente el parámetro de, entonces hay una posibilidad de daño a datos importantes.

Si especificó el tamaño insuficiente del archivo de bombeo (esto puede descubrir mucho más tarde), aumentar o simplemente cambiar el tamaño del swap Ubuntu, puede apagar el actual (cómo hacer esto, le diremos más tarde) y Creándolo nuevamente de acuerdo con el algoritmo dado aquí con el tamaño correcto.

Cómo conectar un archivo de intercambio

El archivo de bombeo es importante desde el punto de vista del sistema operativo, y su edición puede conducir a su colapso. Por lo tanto, es importante limitar el acceso al intercambio por el siguiente comando:

Chmod 600 /swapfile

Como resultado, solo el usuario raíz (análogo de administrador en Windows) tendrá derecho a leer y escribir en él).

La configuración de archivo de intercambio adicional es convertir /swapfile en un archivo de bombeo utilizando un comando

Mkswap/swapfile

Y el equipo final, cuya acción es conectar el intercambio al sistema (su inclusión):

Swapon/swapfile

Ahora está completamente listo para trabajar.

Agregar intercambio a la carga automática

De modo que después de cada reinicio, no para conectar el archivo de bombeo al sistema al último comando de la sección anterior, ingresamos en el archivo /etc /fstab utilizando cualquier editor de texto, que se utilizará en cada descarga de Linux:

/SwapFile ninguno de los valores predeterminados 0 0 0

Después de reiniciar la computadora, puede verificar el funcionamiento correcto del comando gratuito -m.

Cómo limpiar el intercambio en Ubuntu

A veces puede ser necesario liberar espacio temporalmente en el disco, y a menudo es el archivo de bombeo el único candidato real para estos fines.

La limpieza de intercambio (o más bien, la desconexión) se lleva a cabo por el comando

Swapoff -A

La inclusión está hecha por el comando

Swapon -A

CONSEJO. No se recomienda desconectar el intercambio de esta manera, ya que los datos son simplemente cero, sin transferir a RAM. Si los que utilizan los procesos del sistema pueden seguir el colapso del sistema.

Si decide negarse por completo a usar el archivo de bombeo, puede eliminar el cambio de la siguiente manera:

Cat/Proc/Swaps (determine la ubicación del archivo de intercambio)

Swapoff/Dir/SwapXXXXX (apague el archivo de swing, aquí Dir es el resultado de la ejecución del comando anterior, es decir, un directorio con un archivo, y Swapxxxxxx es el nombre del archivo de swing en sí)

RM /DIR /SWAPXXXXX (elimine el archivo del disco)

Si agregó intercambio a una carga de bus, debe eliminarlo de allí eliminando la línea correspondiente en el archivo /etc /fstab (por ejemplo, editor GEDIT).

Pero recuerde que sin la presencia de un archivo de intercambio, el sistema puede funcionar inestable, especialmente con una pequeña cantidad de RAM, por lo que se recomienda eliminar un archivo de swing sin crear un nuevo.