Voy a instalar 64 bit 14.04 en una nueva máquina con algo como 1 a quizás 128 GB de RAM e incluso más RAM más adelante. ¿Cuánto espacio debo asignar a la partición de intercambio?
Y especialmente: ¿POR QUÉ esas recomendaciones para estos números?
(Ninguna de las respuestas existentes aquí y aquí explican por qué y están un poco anticuadas si miramos 1GB o RAM y más)
partitioning
swap
Tim
fuente
fuente
Respuestas:
La respuesta corta:
Establezca su archivo de intercambio en:
round(sqrt(RAM))
si no usas hibernaciónRAM+round(sqrt(RAM))
si se hace uso de hibernación¡Establezca su
swappiness
10 en un escritorio, pero no en un servidor!La respuesta larga:
En el pasado:
La regla general en uso durante los últimos 25 años ha sido un mínimo de 1xRAM y un máximo de 2xRAM, así que eso es lo que verá citado todo el tiempo.
Ese mínimo se estableció en la edad de piedra
cuando era un adolescente y los dinosaurios todavía deambulaban por la Tierra yporque la RAM era demasiado costosa y absolutamente necesitabas ese espacio de intercambio para poder lograr cualquier cosa.El máximo se estableció en ese momento debido a los rendimientos decrecientes: es demasiado lento para tener que intercambiar tanta memoria, ya que el acceso al HDD es un factor de 1000 más lento que la RAM: ¡bueno en una emergencia, pero no es realmente bueno para el uso diario! En ese momento, cuando se quedó sin espacio de intercambio, ¡era hora de agregar más RAM! (que sigue siendo cierto hoy).
En el presente:
Si no utiliza la hibernación y su memoria es superior a 1 GByte, la nueva regla general es
round(sqrt(RAM))
dóndeRAM
está obviamente el tamaño de su RAM en GB ysqrt
la raíz cuadrada. :-)Si usa la hibernación, debe poder intercambiar la cantidad total de RAM + RAM ya intercambiada al disco, por lo que la fórmula se convierte en:
RAM+round(sqrt(RAM))
La regla de rendimientos decrecientes aún se mantiene hoy en día para el máximo, pero a menos que pruebe su uso real, tomar 2xRAM es solo una pérdida de espacio en disco , así que no use el máximo A menos que se quede sin espacio de intercambio utilizando las otras metodologías .
Todos estos juntos le dan la siguiente tabla: (últimas 3 columnas que denotan espacio de intercambio)
Lo anterior es solo una regla general; ¡No es la ley de la gravedad!
¡ Puede romper esta regla (a diferencia de la ley de gravedad) si su caso de uso particular es diferente!
Consejo profesional: siempre asigne SWAP al comienzo de un HDD ya que los cabezales necesitan moverse menos en el interior del disco.
Sí: en los SSD, realmente ya no importa dónde ubique el área de intercambio, ya que usan túneles cuánticos en lugar de cabezas móviles y los SSD modernos usan todas sus celdas de memoria (incluso el espacio no asignado) para evitar la degradación cuántica.
Cómo probar si su uso de intercambio es diferente de la regla "genérica":
Solo ejecuta:
que le dará una lista de todos los programas en ejecución que se intercambian (con el que usa más espacio de intercambio en la parte superior)
Si está utilizando más de unos pocos KB: cambie el tamaño a más del mínimo, de lo contrario, no se moleste ...
Si estás en un servidor, deja de leer ahora: ¡estás listo!
Si está en un cliente de escritorio / portátil (no servidor), desea que su GUI sea lo más receptiva posible y solo se intercambie cuando realmente lo necesite . Ubuntu ha sido optimizado para intercambiarse temprano para el uso del servidor, pero en su cliente desea editar esa enorme imagen en bruto de 250 megapíxeles
gimp
para que sea rápida , por lo que establecer su valorswappiness
en 10 evitará que el kernel se intercambie demasiado pronto, al tiempo que se asegura de que no t cambiar demasiado tarde:Si tienes un
sysctl.conf
archivo,O
Si tiene un
sysctl.d
directorio pero no tiene unsysctl.conf
archivo, cree un nuevo archivo:y en ambos casos agregue:
al final del archivo, guarde el archivo ( Ctrl+ XY+ Enteren nano) y ejecute un:
para recargar el parámetro o tomar el enfoque Window $ y reiniciar ... :-)
fuente
Necesidad de intercambio
El intercambio es útil por 3 razones:
Eliminando el desorden de la RAM. Del artículo en kernel.org:
En otras palabras, los datos almacenados en la RAM solo pueden ser útiles cuando se ha iniciado un proceso (como el proceso de inicio), y luego simplemente residen allí en la RAM, abarrotando el espacio que se puede utilizar para mejores propósitos.
Expande la cantidad de memoria que los procesos pueden usar. Esto se entiende bien. No desea que el sistema se quede sin memoria y se bloquee por falta de él. Por esta razón específica, el intercambio debe existir, sirviendo como una característica de protección.
Hibernación: cuando una computadora hiberna, el contenido de la RAM va al disco.
Cantidad de intercambio
Conociendo el propósito del intercambio y dependiendo de la cantidad de RAM de su máquina, puede elegir un tamaño de intercambio que se adapte a su propósito. No hay pautas específicas, solo reglas generales que puede usar para adaptar el tamaño de su intercambio para que se ajuste a su sistema .
Por ejemplo, linux.com recomienda:
Por experiencia personal, esto es lo que haría:
Considerando una máquina con 1 - 2 GB que no necesita hibernar y para uso casual, puede tener espacio de intercambio de 1GB a 2GB. Mi PC con Ubuntu 14.04 tiene 1GB de RAM y 2GB de intercambio. La cantidad de intercambio nunca cruza el límite de 800 MB, y uso mi PC solo para navegar por la web y crear secuencias de comandos.
Con una PC que tiene más de 2 GB y no necesita hibernar, puede cambiar de 512 MB a 1 GB. Tengo una computadora portátil con 15.04 que nunca hiberna y que tiene un archivo de intercambio ( no una partición ) de 512 MB. La RAM en sí es de 6 GB pero nunca cruza 2-3 GB. De nuevo: uso casual.
Cosmoscalibur y Fabby ya abordaron el intercambio en caso de que necesite hibernar, por lo que no lo abordaré demasiado. Mi humilde opinión es esta:
Si planea hibernar, deberá intercambiar el contenido de RAM, por lo tanto, necesitará al menos el mismo tamaño que su RAM.
fuente