Una de las formas más sencillas de observar los problemas de falta de memoria en las aplicaciones es aumentar el tamaño de intercambio en su servidor. En este artículo, explicaremos cómo agregar un archivo de intercambio a un servidor Ubuntu.
Antes de comenzar, primero asegúrese de verificar si el sistema ya tiene espacio de intercambio disponible ejecutando el siguiente comando.
$ sudo swapon --show.
Si no ve ningún resultado, eso significa que su sistema no tiene espacio de intercambio disponible actualmente.
También puede confirmar que no hay espacio de intercambio disponible utilizando el comando libre.
$ gratis -h.
Puede ver en la salida anterior que no hay un intercambio activo en el sistema.
Para crear un espacio de intercambio, primero debe verifica el uso actual de tu disco y confirme que hay suficiente espacio para crear un archivo de intercambio en el sistema.
$ df -h.
La partición con /
tiene suficiente espacio disponible para crear un archivo de intercambio.
Ahora crearemos un archivo de intercambio llamado "swap.img"
en nuestro Ubuntu raíz (/)
directorio usando el Fallocate comando con el tamaño de 1 GB (puede ajustar el tamaño según sus necesidades) y verificar el tamaño del intercambio usando comando ls como se muestra.
$ sudo fallocate -l 1G /swap.img. $ ls -lh /swap.img.
En el resultado anterior, puede ver que hemos creado el archivo de intercambio con la cantidad correcta de espacio, es decir, 1 GB.
Para habilitar el archivo de intercambio en Ubuntu, primero debe establecer los permisos correctos en el archivo para que solo el raíz
el usuario tiene acceso al archivo.
$ sudo chmod 600 /swap.img. $ ls -lh /swap.img.
De la salida anterior, puede ver que solo el raíz
el usuario tiene los permisos de lectura y escritura.
Ahora ejecute los siguientes comandos para marcar el archivo como espacio de intercambio y habilite el archivo de intercambio para comenzar a utilizarlo en el sistema.
$ sudo mkswap /swap.img. $ sudo swapon /swap.img.
Verifique que el espacio de intercambio esté disponible ejecutando los siguientes comandos.
$ sudo swapon --show. $ gratis -h.
De la salida anterior, está claro que nuestro nuevo archivo de intercambio se ha creado con éxito y nuestro sistema Ubuntu comenzará a usarlo según sea necesario.
Para que el espacio de intercambio sea permanente, debe agregar la información del archivo de intercambio en el /etc/fstab
archivo y verifíquelo ejecutando los siguientes comandos.
$ echo '/swap.img ninguno swap sw 0 0' | sudo tee -a / etc / fstab. $ cat / etc / fstab.
Hay algunas configuraciones que necesita configurar que tendrán un efecto en el rendimiento de su Ubuntu al usar el intercambio.
Swappiness es un parámetro del kernel de Linux que especifica cuánto (y con qué frecuencia) su sistema intercambia datos de la RAM al espacio de intercambio. El valor predeterminado para este parámetro es “60” y puede usar cualquier cosa, desde “0” para “100”. Cuanto mayor sea el valor, mayor será el uso de espacio de intercambio por parte de Kernel.
Primero, verifique el valor de intercambio actual escribiendo el siguiente comando.
$ cat / proc / sys / vm / swappiness.
El valor de intercambio actual de 60 es perfecto para el uso de escritorio, pero para un servidor, debe configurarlo en un valor más bajo, es decir, 10.
$ sudo sysctl vm.swappiness = 10.
Para que esta configuración sea permanente, debe agregar la siguiente línea al /etc/sysctl.conf
expediente.
vm.swappiness = 10.
Otro ajuste similar que quizás desee modificar es el vfs_cache_pressure
- esta configuración especifica cuánto el sistema querrá almacenar en caché inodo y dentry detalles sobre otros datos.
Puede comprobar el valor actual mediante consultar el sistema de archivos proc.
$ cat / proc / sys / vm / vfs_cache_pressure.
El valor actual se establece en 100, eso significa que nuestro sistema elimina la información de inodo de la caché con demasiada rapidez. Sugiero que deberíamos configurar esto en una configuración más estable como 50.
$ sudo sysctl vm.vfs_cache_pressure = 50.
Para que esta configuración sea permanente, debe agregar la siguiente línea al /etc/sysctl.conf
expediente.
vm.vfs_cache_pressure = 50.
Guarde y cierre el archivo cuando haya terminado.
Para eliminar o eliminar el archivo de intercambio recién creado, ejecute los siguientes comandos.
$ sudo swapoff -v /swap.img. $ sudo rm -rf /swap.img.
Finalmente, elimine la entrada del archivo de intercambio de la /etc/fstab expediente.
¡Eso es todo! En este artículo, hemos explicado cómo crear un archivo de intercambio en su distribución de Ubuntu. Si tiene alguna consulta con respecto a este artículo, no dude en hacer sus preguntas en la sección de comentarios a continuación.