¿Importa la cantidad del área de intercambio en el sistema Linux?


12

¿Importa si la cantidad de un área de intercambio en Linux fue demasiado pequeña (por ejemplo, 1 Gb), y la RAM principal es 128Gb?

¿Deberíamos establecer siempre la cantidad de área de intercambio para que sea el doble de RAM?

ACTUALIZADO:

Hola, gracias a todos por responder esta pregunta. De hecho, tengo esta pregunta porque hemos encontrado algunos problemas al utilizar un sistema de clúster pequeño. Los problemas se publican en. aquí . La siguiente imagen es información sobre algunas de las computadoras en este pequeño grupo.

information

los MEMTOT es la cantidad total de RAM de esa máquina, la SWAPTO es la cantidad total de SW Área AP de esa máquina, y la SWAPUS es la cantidad utilizada de área SWAP. Como se muestra en la imagen, el uso de SWAP es realmente pequeño.

Al tratar de resolver esos problemas publicados en aquí , no estamos seguros si la cantidad de área SWAP está configurada demasiado pequeña, que es solo 1Gb relativo a 128Gb, como se muestra en la imagen. Por lo tanto, tengo esta pregunta. Lo siento, no publiqué toda la información de fondo en la versión original de esta publicación. Antes de eso, también pensamos que si la cantidad de RAM es grande, podríamos establecer la cantidad de SWAP pequeña. Tratamos de establecer el SWAP de c0148 ser 16Gb, el problema parece ser ninguno (tal vez deberíamos llegar a esta conclusión después de observar sus estados por mucho tiempo).

No somos profesionales en el sistema Linux, y no pudimos explicar por qué sucedió esto. Es probable que se trate de un sistema de clúster, y el SGE está administrando los recursos de cada máquina, y debe tener una cantidad relativamente grande de SWAP porque muchos usuarios pueden utilizar esa máquina.

Además, si solo ajustamos la cantidad de SWAP demasiado grande, también vale la pena considerar qué otros problemas causaría.


1
Si tienes 128 Gb de RAM y comienzas a intercambiar, ese sistema probablemente está fuera de control y muerto de todos modos. Yo, personalmente, probablemente ejecutaría ese servidor sin ningún tipo de intercambio. El OOMKiller debe encargarse de cualquier proceso fuera de control antes de quedarse sin memoria, lo que provoca un bloqueo, y el bloqueo es más rápido de solucionar de todos modos.
Ryan Gooler

1
¿Cuál sería? ¿Qué? Unos pocos megas de cosas de init? ¿Alguna memoria caché que se lanzará tan pronto como algo realmente necesite el ariete? Si su máquina NECESITA intercambiar memoria para funcionar, está sobrecargada y debe ampliarse de todos modos.
Ryan Gooler

1
@Ryan Gooler: Si estás haciendo simulaciones científicas, un proceso que usa 128 Gb o más no es irrazonable.
jamesqf


1
@RyanGooler Es lo suficientemente cierto. Mi punto es que cada vez mayor permuta. puede Permitir que los programas usen más memoria física. Es solo unos pocos MB pero es mejor que nada :)
Navin

Respuestas:


19

El kernel de Linux tiene una configuración para controlar la frecuencia con la que se usa el intercambio, llamado swappiness, descrito en https://unix.stackexchange.com/questions/88693/why-is-swappiness-set-to-60-by-default .

Un cambio de cero significa que el intercambio se usará solo si el sistema se queda sin memoria. Una swappiness de 100 obliga a los programas a usar swap al instante.

Modifique su sistema como desee para que se comporte, pero tener 128 GB de RAM es muy poco probable que su sistema se quede sin memoria fácilmente, por lo que tener 2/4 GB de intercambio podría ser suficiente. No es recomendable, pero es posible, ejecutar un sistema sin partición de intercambio.

Creo que la regla del área de intercambio para ser el doble de RAM es obsoleta, y es útil solo en sistemas que tienen alrededor de 1 GB de RAM y siempre están al borde del uso total de RAM.


2
Mientras se configura swappiness a 0 parece lógico con una gran cantidad de RAM, puede ser mejor mantenerlo como el valor predeterminado de 60: http://unix.stackexchange.com/a/88820/50687 .
A.L

1
¿Hay algún gráfico con swappiness de 0 a 100 en un eje y algo más en el otro para demostrar cómo ... la swappiness depende del valor?
user1306322

Hola, @jcbermu, he actualizado la publicación, si es conveniente, verifíquelo.
mining

5

Creo que la regla de oro 2x está desactualizada. Nuestras estaciones de trabajo tienen una RAM de 16GB, normalmente solo usamos alrededor del 25% de eso y apenas usamos más del 50%. Así que para nuestros propósitos, no utilizamos ningún swap.

Ya que tiene que decidir cuánto swap crear, y es teórico que cualquier número que elija no será suficiente en algún momento, ¿por qué no elegir 0? O, ¿por qué no instalar más RAM?

Creo que esta es una decisión muy personal basada en la forma en que se usará su computadora y la cantidad de RAM que tiene.


Hola, @gjcamnn, gracias por responder. He actualizado el post, si es conveniente, por favor revísalo.
mining

0

A menos que vaya a realizar algunos cálculos que consuman memoria, no necesita ningún intercambio (pero es mejor tener una partición de intercambio pequeña). Pero habiendo intercambiado & gt; ram es necesario cuando se va a utilizar suspender al disco.


Hola, @ustp, gracias por responder. He actualizado el post, si es conveniente, por favor revísalo.
mining
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.