Diría que una buena regla general es, de hecho, tal como se mencionó anteriormente. 2 veces la memoria física. Algo a considerar aquí, si bien es posible usar una partición de intercambio más pequeña, y será suficiente en la mayoría de las circunstancias normales, si desea que este sistema sea estable como una roca, de hecho seguiría la recomendación de 8 GB. De hecho, recomiendo 2 * RAM + 1 MB para que haya absolutamente espacio para intercambiar 2 copias completas de memoria. Esto evita el escenario del "juego de shell" que puede tener repercusiones negativas en el rendimiento. Lo que esto hará por usted es garantizar un nivel de resistencia en caso de que se encuentre con un evento extraordinario en su sistema.
He visto escenarios en los que las aplicaciones se comportan mal en entornos desatendidos y, antes de que te des cuenta, tu sistema comienza a ralentizarse.
Dependiendo de lo que esté haciendo, es posible que incluso pueda prescindir del archivo de intercambio por completo. El espacio adicional para el sistema operativo es útil cuando se ejecutan muchas aplicaciones a la vez. Sin embargo, si solo tiene la intención de ejecutar algunos procesos, no intente interactuar con la GUI, deshabilitar el archivo de intercambio podría ser apropiado.
Pero si va a tener un archivo de intercambio, siempre uso la fórmula de tamaño a continuación.
[(2 x RAM) + 1 MB] = Swap File Size
También recomiendo colocar su archivo de intercambio en un disco separado siempre que sea posible, ya que esto aumentará el rendimiento, ya que el sistema operativo puede intercambiar datos al mismo tiempo que lee/escribe desde el disco de datos.
Espero que esto sea útil.
Linux puede funcionar bastante bien sin intercambio si tiene suficiente RAM para todo lo que le pide que haga, aunque aún es una buena idea tener algo de intercambio, ya que a veces puede obtener un mejor rendimiento cuando está cerca de llenar la memoria al empujar algo no recientemente. - cosas usadas en el disco liberando RAM para usar como caché/búfer para las operaciones de E/S actualmente activas.
Además, tener algo de intercambio, independientemente de la cantidad de RAM que tenga, permite una pequeña red de seguridad adicional en caso de que una aplicación se comporte mal y necesite más RAM de lo normal, o si elige hacer algo inusual que necesita mucha memoria.
En general, no estoy de acuerdo con 2xRAM en máquinas modernas. Si tiene suficiente para terminar con 8 Gb de páginas para cambiar al disco, entonces es probable que su sistema haya llegado a una velocidad completamente inutilizable en ese punto de todos modos. Incluso 1xRAM puede ser excesivo en muchos casos, en mi opinión. Recuerde que puede agregar espacio de intercambio en forma de archivo en cualquier momento, por lo que puede agregar más intercambio más tarde si lo necesita. por ejemplo, para agregar un GB adicional de intercambio:
dd if=/dev/zero of=/path/to/newfile bs=1024 count=1048576
mkswap /path/to/newfile
swapon /path/to/newfile
y para eliminarlo (una vez que ya no sea necesario):
swapoff /path/to/newfile
rm /path/to/newfile
(recuerde, sin embargo, que cambiar a archivos es un poco más lento que hacerlo directamente a una partición o volumen lógico, ya que tiene una sobrecarga del sistema de archivos y un mayor potencial de fragmentación a considerar)
La hibernación, es decir, en computadoras portátiles/netbooks, puede complicar un poco las cosas ya que IIRC Linux almacena el estado de la memoria en el espacio de intercambio, por lo que definitivamente necesita más que su tamaño de RAM como intercambio si planea usar la hibernación (y no sé si eso debe ser un intercambio basado en partición/volumen o si se puede usar un archivo basado; ciertamente tendrá que ser algo mencionado en fstab
eso se puede ver muy temprano en el proceso de arranque cuando el disco RAM inicial está en uso y su raíz real aún no está montada).
Sin embargo, todos estos puntos pueden ser discutibles. Si tiene terabytes de almacenamiento en disco, es probable que asignar 8 Gb para el intercambio sea una dificultad mínima.
De acuerdo con Ubuntu SwapFAQ aquí, el cálculo es de 2 * MB de RAM. Así que en este caso 8GB. Sin embargo, siendo realistas, no debería necesitar más de 2 GB.