Algo que me toma generalmente hacer es cuando trabajo con maquina virtuales es asignar una cantidad determinada de Swap.
La memoria swap es un espacio de intercambio en disco para cuando el sistema ya no puede utilizar más memoria RAM.
El problema para mi es que algunos sistemas de maquinas virtuales no asignan por defecto un espacio para la Swap, lo que te lleva a que el sistema pueda tener crash durante la ejecución.
Para comprobar la asignación de memoria, al ejecutar el comando free nos debería mostrar como algo similar a lo siguiente
$ free -m total used free shared buffers cached Mem: 494 488 6 1 54 75 -/+ buffers/cache: 357 136 Swap: 0 0 0
En la zona de swap indica que no asignada, valor 0.
Para asignar swap al sistema se debe un archivo en disco para que sea utilizado como espacio de intercambio, en este caso lo vamos crear uno de 3GB en la raíz del sistema
fallocate -l 3G /swapfile
Comprobamos que ha sido creado
$ ls -lh /swapfile -rw-r--r-- 1 root root 3.0G Jul 11 13:10 /swapfile
Habilitación del archivo Swap
Ahora nos toca habilitar el archivo creado. Para eso le asignaremos los permisos
chmod 600 /swapfile
Lo siguiente es para convertir el archivo para swap
mkswap /swapfile
Para habilitar y asignarla eso como memoria swap al sistema usamos
swapon /swapfile
Ya con esto podrémos ver en nuestro sistema la memoria asignada para swap
$ free -m total used free shared buffers cached Mem: 494 486 7 1 51 77 -/+ buffers/cache: 358 136 Swap: 3071 0 3071
Para que al reiniciar el sistema esto se mantenga, debemos agregar la siguiente línea al archivo /etc/fstab
/swapfile none swap sw 0 0
Podemos editar /etc/fstab con algún editor como vim, nano o podemos agregar la linea directamente en la desde la cli de la siguiente manera
echo "/swapfile none swap sw 0 0" >> /etc/fstab