Durante algunos años, he leído que es una buena idea crear una partición de intercambio que tenga el doble espacio de mi RAM. ¿todavía se aplica hoy? o esto ya no es necesario?
Tengo un servidor con 8 GiB de RAM y necesito crear una partición de intercambio, y me preguntaba si 16 GiB era demasiado.
Respuestas:
En sistemas grandes, 8 GB de RAM física, generalmente asignamos 2 GB de intercambio. Estos son servidores de bases de datos cargados que ejecutan Oracle o PostgreSQL. Durante años, nunca he visto un golpe de intercambio incluso bajo una carga pesada. La carga pesada es de aproximadamente 100 a 150 usuarios que realizan alrededor de 10,000 lecturas SQL, y quizás 2,500 escrituras por minuto.
También ajustamos el nivel de intercambio para desalentar el intercambio y desactivamos los procesos innecesarios que sabemos que no necesitamos ejecutar. (Compilaciones de Linux personalizadas)
Como Eddie, dice anteriormente, 1x RAM física es una buena regla general para cualquier cosa por debajo de 4GB. Realizo compilaciones personalizadas de Linux para una gran empresa Fortune-500 y estas son las cosas que hacemos habitualmente, y no hemos tenido ningún problema en los últimos 5 años más o menos que he estado consultando para ellos.
En sistemas más grandes: Linux de 64 bits con 32 GB y 64 GB de RAM, estos son nuestros servidores de bases de datos Oracle, y generalmente mantenemos 2 GB de intercambio para cosas como Eddie señala arriba: los procesos inactivos se moverán para cambiar según la configuración de intercambio.
fuente
Una pregunta aparentemente eterna. La buena gente de SlashDot discutió esto hace un tiempo. Comprueba lo que tienen que decir:
fuente
Vea la respuesta ¿Cuánto espacio SWAP en un sistema de memoria alta? para alguna orientación, aunque su pregunta es más general. Las opiniones varían ampliamente sobre esto, pero en general las personas con 1 GiB de RAM o más parecen ejecutarse sin intercambio por completo, o con 1xmemory como intercambio.
Incluso si no planea usar tanta RAM que obligará a que ocurra el intercambio, hay algo de valor en tener al menos 1xmemory como intercambio: permite que el sistema operativo intercambie algunas cosas que no se espera que se usen inmediatamente para que pueda utilizar esa memoria para discos o memorias intermedias de E / S, por ejemplo.
fuente
Si espera que su sistema pueda hibernar y luego reanudar con éxito :-), probablemente sea mejor asignar más espacio para la partición de intercambio que la cantidad de RAM física
fuente
Mi proveedor de VPS ni siquiera proporciona espacio de intercambio para los servidores, y el mío ha estado funcionando bien sin él.
La mayoría de los servidores que veo a diario en el trabajo también son intercambiables.
Editar
Sin embargo, si está ejecutando una JVM, asegúrese de tener al menos tanto espacio de intercambio como haya configurado
-Xmx
debido a un problema conocido con la JVM.En resumen, cuando la JVM necesita más memoria de la que está usando actualmente (pero aún no ha alcanzado su valor máximo
Xmx
):Esto significa que si intercambias es menor que tu
Xmx
, puede fallar.Para citar el informe de error
Intento ir a lo seguro cuando trabajo con JVM y configuro el intercambio a la misma memoria física.
fuente
Dada la velocidad de las unidades de disco duro modernas, los grandes intercambios son solo una invitación a la paliza. Tal vez los SSD reviertan esta tendencia, pero con una velocidad de transferencia máxima de 300 MB / s para un disco, cambiar en 2-4 GB llevará un buen tiempo.
En los viejos tiempos (es decir: Linux 1.2, i386, SunOS 4.x), tenías entre 5 y 15 MB de procesos de daemon en ejecución y entre 4 y 32 MB de RAM y, por lo tanto, daemons que solo estaban bloqueados esperando I / O podría intercambiarse sin un impacto real en el rendimiento ... Y sería mejor ya que los programas de usuario podrían tener tan solo 2-3MB de RAM disponibles. El intercambio tenía mucho sentido.
Ahora, en mi entorno, la mayoría de los servidores tienen cargas de trabajo pesadas de memoria única y se puede estimar la RAM con bastante precisión ... Swap está ahí para emergencias, procesos de fuga, etc.
La excepción es para computadoras portátiles y estaciones de trabajo que podrían dormir. Muchos sistemas operativos utilizarán el área de intercambio para guardar la imagen suspendida y, en esos casos, el intercambio debe ser mayor que la memoria física. En Linux con suspend2 / tuxonice, debe tener 2xRAM en tamaño de intercambio para admitir la suspensión en disco.
fuente
En estos días, si está ejecutando un servidor de 32 GB o 64 GB, 4 GB de intercambio por defecto es una cantidad segura. Cualquier cosa más grande que eso es excesivo con tanta RAM física disponible.
fuente
Idealmente, no usará el intercambio en absoluto, y la cosa de 2x RAM es realmente algo que queda de años anteriores.
Sin embargo, si le preocupa, haría algo como:
Creo que 16GB suena demasiado grande, personalmente.
fuente
En los viejos tiempos que quería tanto como podía obtener, el consumo de memoria en los núcleos * nix modernos es cosa del pasado. El viejo dicho era "2x tu memoria". Entre 2 GB o la cantidad de espacio que la máquina tiene en la memoria RAM hoy en día lo llevará cerca de donde necesita estar.
fuente
El intercambio también se utiliza para almacenar volcados después del kernel panic. Si le interesa analizar estos volcados y no ha especificado otro destino de volcado, su intercambio debe ser al menos tan grande como su RAM.
fuente
No existe un algoritmo único que le indique cuánto intercambio necesita. En la práctica, debe poner su sistema bajo la carga más grande que planea soportar, y descubrir cuántos recursos usa realmente. Configure su archivo de intercambio en consecuencia.
Para RAM física, debe colocar su sistema bajo la carga de "crucero" real que espera manejar, y comprar en consecuencia. Para los sistemas de baja latencia, no debe intercambiar nada dentro de su carga de crucero (esto no es lo mismo que no tener un intercambio asignado o incluso en uso). Puede ocurrir una pequeña cantidad de intercambio debido a las utilidades del sistema poco utilizadas que realizan el mantenimiento de la casa , pero en general deberías tener el menor intercambio posible.
Por supuesto, puede cambiar el rendimiento por un precio más bajo.
fuente