Muchos otros han cubierto los aspectos técnicos. Ahora, aquí están los puntos históricos sobre por qué alguien puede haberle dicho que necesita intercambiar en Linux, y que la cantidad que necesita aumenta si agrega más memoria.
Sistemas Unix (en los que incluyo Linux; una distribución de Linux ya está certificada por Unix; la razón principal por la que “Linux” en general no puede serlo es porque es un núcleo y, por lo tanto, no incluye todas las utilidades que requiere la especificación ) tradicionalmente se han utilizado principalmente como sistemas multiusuario, a menudo en entornos de producción que requieren un alto tiempo de actividad.
Debido a esto, los sistemas Unix tradicionales a menudo usaban “intercambio reservado”. Es decir, el sistema no iniciaría un proceso sin saber que el espacio de intercambio estaría disponible si fuera necesario cambiarlo.
Esto significaba que dichos sistemas no podían usar la memoria en exceso del espacio de intercambio del sistema: cuando intentaba asignar tanta memoria, recibía un error que decía que el sistema no podía reservar suficiente intercambio. Asi que:
tamaño de memoria virtual = menor (tamaño de memoria física, tamaño de intercambio)
para tales sistemas. Para estos sistemas, la recomendación habitual era que el intercambio debería ser al menos el doble del tamaño de la memoria.
Más tarde, se hizo más popular diseñar sistemas para que no reservaran el intercambio de esta manera. En cambio, no se reservaría espacio de intercambio; el intercambio solo se usó cuando realmente se necesitaba. En tal sistema:
tamaño de memoria virtual = tamaño de memoria física + tamaño de intercambio
Ahora, en este punto, técnicamente ya no necesitas intercambiar nada. Si no lo tiene, su máquina solo le permitirá ejecutar procesos hasta el límite de la memoria física, por supuesto, pero para algunos sistemas, eso puede estar bien.
Sin embargo, en la mayoría de los sistemas Unix, el intercambio tiene otro propósito: el espacio de volcado por caída. Si el sistema se bloquea, se escribe un volcado de bloqueo para intercambiar. Dependiendo del sistema, esto puede copiarse fuera del intercambio y en un sistema de archivos cuando el sistema se reinicia.
En este caso, si no tiene un intercambio al menos igual al tamaño de la memoria física (y posiblemente un poco más grande), no se puede escribir un volcado de bloqueo completo. Por lo tanto, si su sistema falla, es posible que no pueda capturar los datos para descubrir por qué se bloqueó. Por lo tanto, la recomendación era que debería tener un espacio de intercambio al menos igual al tamaño de la memoria … y, por supuesto, muchas personas repetían la recomendación anterior, que el intercambio debería tener al menos el doble del tamaño de la memoria.
Pero la mayoría de las personas que ejecutan Linux en casa no van a ver un volcado de memoria de todos modos: no tienen las habilidades para hacerlo, y no están pagando por el apoyo de una compañía a la que podrían subir el volcado y obtener información de vuelta.
(Y, para el caso, si su máquina comienza a fallar regularmente, siempre puede activar más intercambio entonces . Los usuarios domésticos generalmente no se encuentran en un entorno donde las cosas deben repararse lo más rápido posible, o donde se espera que los recursos del disco mantenerse regularmente cerca de su uso completo)
Entonces, ¿cuánto intercambio debería tener?
Básicamente, depende de su perfil de uso. Si apaga la máquina de forma regular, no tiene que preocuparse por las pérdidas de memoria que podrían llenarla. Si el conjunto de programas que ejecuta normalmente nunca llega a llenar la memoria, es posible que no necesite cambiar nada. He ejecutado muchos sistemas Linux caseros sin él.
Si a veces tiene presión de memoria, es útil tener suficiente intercambio para manejarlo. Tenga en cuenta que Linux usará automáticamente la memoria libre para el almacenamiento en caché del disco, por lo que tener algún intercambio puede ser útil, incluso si el tamaño total de los procesos en ejecución nunca excede la memoria disponible: algunos procesos en un sistema Linux típico con una configuración predeterminada en realidad no se ejecutan muy a menudo, por lo que el sistema puede intercambiarlos si no se han utilizado durante un tiempo, a fin de aumentar la cantidad de memoria disponible para el almacenamiento en caché.
Entonces … todavía verá la recomendación de “el intercambio debería ser igual a la memoria” a menudo; con menos frecuencia, verá que el antiguo “intercambio debe tener al menos el doble del tamaño de la memoria”. Puede ignorarlos con seguridad a menos que se encuentre en un entorno en el que necesite capturar volcados de memoria o en el que realmente necesite ejecutar un intercambio reservado por alguna razón.
Recomiendo tener alrededor de 4 GB de intercambio disponibles en un sistema doméstico. No es necesario aumentarlo si tienes más memoria.