52 votos

¿Cuánto espacio de intercambio en un sistema de alta memoria?

¿Cómo debo decidir qué tamaño de hacer mi tamaño de swap en una nueva máquina linux (Debian) con una cantidad bastante grande de Ram (2-4 GB). ¿Realmente necesita cambiar espacio definido?

54voto

Android Eve Puntos 545

Hay un montón de maneras que usted puede averiguar cuánto swap uso en una máquina. Sugerencias comunes el uso de fórmulas basadas en RAM como 2 x RAM, 1.5 x de RAM, 1 x memoria RAM, .75 x RAM, y .5 x RAM. Muchas veces las fórmulas son variadas dependiendo de la cantidad de memoria RAM (por lo que una caja con 1 gb de RAM podría utilizar 2 x RAM swap (2 GB), mientras que una caja con 16 gb de ram podría utilizar .5 x RAM swap (8 GB).

Otra cosa a considerar es lo que el cuadro va a ser utilizado para. Si vas a tener un gran número de la ejecución simultánea de procesos que se ejecutan en el cuadro, pero un número significativo de ellos va a estar inactivo durante períodos de tiempo, a continuación, añadir un poco de swap tiene sentido. Si usted va a estar ejecutando un pequeño número de procesos críticos, a continuación, añadir un poco de swap tiene sentido (esto puede parecer contra-intuitivo, pero voy a explicar en un minuto). Si usted está ejecutando un cuadro como un escritorio, a continuación, añadir un poco de swap tiene sentido.

En cuanto a si se debe incluir swap, sí, debería. Siempre se debe incluir el espacio de intercambio, a menos que realmente sepas lo que estás haciendo, y que tenga una buena razón para ello.

A ver, la forma en que el kernel de Linux obras, de intercambio no sólo se utiliza cuando se han agotado todas las de la memoria física. El kernel de Linux se llevará a aplicaciones que no están activos (dormir) y después de un período de tiempo, mover la aplicación a la permuta de la memoria real. El resultado es que cuando se necesita que la aplicación, habrá un retraso momentáneo (por lo general sólo un segundo o dos), mientras que la memoria de la aplicación se leen de swap para la memoria RAM. Y esto es generalmente una buena cosa.

Esto le permite poner aplicaciones inactivas a "dormir", dando a las aplicaciones activas de acceso a la memoria RAM adicional. Además, Linux va a utilizar cualquier disposición (sin asignar) RAM en un equipo como caché de disco, haciendo que la mayoría (lento) actividad de disco más rápido y más sensible. Intercambio de procesos inactivos le da más caché de disco y hace que su máquina en general más rápido.

Por último, deja la cara él, el espacio en disco es barato. Realmente baratos. Realmente no hay una buena razón en todo lo que no pase un (relativamente) pequeño fragmento de espacio de intercambio (swap). Si yo fuera corriendo con 2GB - 4GB de RAM en un equipo, probablemente me configurar mi espacio de intercambio para ser al menos igual a la RAM. Si se tratara de menos de 2GB de RAM, luego me iba a ir con al menos 2 gb de swap.

ACTUALIZACIÓN: Como un excelente comentario menciona (y se me olvidó incluir), si se está ejecutando en un ordenador portátil o una computadora de escritorio que usted podría poner en 'hibernación' (modo Suspender a Disco), entonces usted siempre quiere al menos tanto de intercambio como el que tiene memoria. El espacio de intercambio se utiliza para almacenar el contenido de la RAM en el equipo, mientras que 'duerme'.

17voto

liangzan Puntos 1733

Red Hat recomienda la siguiente fórmula para servidores con mucha memoria ram:

if MEM < 2GB then SWAP = MEM*2 else SWAP = MEM+2GB

Si su sistema tiene 1 GB de ram, el intercambio sería 2 GB, 16 GB sería 18 GB.

12voto

Tyson Puntos 3583

A finales de respuesta, y creo que esto fue bastante cubierto en la respuesta seleccionada, pero hay algunas buenas y fácil de digerir info en la respuesta proporcionada por @ssapkota aquí (copiar y pegar a continuación).

He aquí una muy buena recomendación de RedHat:se Recomienda el Sistema de Espacio de intercambio (Swap

Un extracto del mismo enlace:

En los últimos años, la cantidad recomendada de espacio de intercambio aumentaron linealmente con la cantidad de RAM en el sistema. Pero debido a la cantidad de memoria en los sistemas modernos se ha incrementado en los cientos de gigabytes, ahora se reconoce que la cantidad de espacio de intercambio que un sistema de necesidades es una función de la memoria de la carga de trabajo del sistema. Sin embargo, dado que el espacio de intercambio es generalmente designado en el momento de la instalación, y que puede ser difícil determinar de antemano la memoria de la carga de trabajo de un sistema, se recomienda la determinación del sistema de intercambio con la siguiente tabla.

Tabla actual (diciembre de 2012):

Amount of RAM in the system   Recommended swap space         Recommended swap space 
                                                             if allowing for hibernation
---------------------------   ----------------------------   ---------------------------
2GB of RAM or less            2 times the amount of RAM      3 times the amount of RAM
2GB to 8GB of RAM             Equal to the amount of RAM     2 times the amount of RAM
8GB to 64GB of RAM            0.5 times the amount of RAM    1.5 times the amount of RAM
64GB of RAM or more           4GB of swap space              No extra space needed

Tabla Original:

Amount of RAM in the System     Recommended Amount of Swap Space
4GB of RAM or less              a minimum of 2GB of swap space
4GB to 16GB of RAM              a minimum of 4GB of swap space
16GB to 64GB of RAM             a minimum of 8GB of swap space
64GB to 256GB of RAM            a minimum of 16GB of swap space
256GB to 512GB of RAM           a minimum of 32GB of swap space 

12voto

Rob Puntos 1138

Depende un poco de lo que estamos haciendo con él. Con el adecuado de la carga de trabajo, en realidad no se necesita ningún espacio de intercambio, si usted tiene 16MB o 16384MB de RAM; de hecho la mayoría de los dispositivos se ejecutan Linux embebido sin ninguna (¿qué sería de ellos swap?)

Teniendo en cuenta la memoria RAM de los precios, usted probablemente no va a utilizar el swap de activos la computación. Así que, ¿qué queda?

  1. En los equipos de escritorio, el espacio de intercambio se utiliza para suspender a disco. Este espacio de intercambio debe ser alrededor de 1 × RAM, dependiendo de cómo de bien el contenido de la memoria comprimir.
  2. Permitiendo que las tareas inactivas de ser eliminado de la memoria RAM para hacer más espacio para los caché de disco
  3. Mismo, sino para permitir que los activos de los procesos a utilizar en lugar de heap/pila

(2) y (3) dependen en gran medida de la carga de trabajo. En mi sobremesa, que fácilmente se puede utilizar 4GB+ en (2), dejando vims, xterms, etc. en otros escritorios.

En la mayoría de los servidores en los que me encuentro, casi no hay nunca nada cambió y 1–2GB de swap (independientemente de la cantidad de RAM) parece ACEPTAR.

4voto

Campbell Puntos 2129

Bueno, depende de qué servicios y aplicaciones de planificar la ejecución. Puedes ver su uso de la memoria con libre -m y ajustar en consecuencia la partición swap con el tiempo.

Aquí es una interesante discusión sobre el tema. Personalmente (y después de leer esa discusión) aún dejaría aproximadamente 1 GB para swap.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: