59 votos

Linux: cómo explícitamente unswap todo lo posible?

He lanzado algo que tomó un montón de memoria y ahora todo lo que queda un montón. Supongo que todas las aplicaciones de la memoria se ha ido de intercambio a fin de liberar espacio para el proceso intensivo de la memoria, y ahora todo vuelve poco a poco a la memoria RAM cuando se tiene acceso.

Hay una forma explícita de mover todo lo posible desde el intercambio de vuelta a la RAM? O tal vez no todo, pero sólo algunos procesos particulares de datos?

59voto

Paul Wicks Puntos 13205

Me gustaría recomendar que permite la normal de Linux de control de memoria swap en el que las cosas se usen, ya que se utilizan.

La única cosa que puedo pensar es la vuelta de intercambio de descuento, a continuación, encienda de nuevo

swapoff -a
swapon -a

Que se supone que tiene suficiente de repuesto de la memoria física para contener todo en swap...

12voto

sntg Puntos 1012

Usted puede ajustar haciendo eco de algún número entre 0 a 100 /proc/sys/vm/swappiness.

Este control se utiliza para definir cómo agresivo que el núcleo de intercambio las páginas de memoria. Los valores más altos aumentará la agresividad, los valores más bajos disminuir la cantidad de swap. Un valor de 0 indica que el núcleo no iniciar el intercambio hasta que la cantidad de archivos y la copia de páginas es menor de la marca de agua alta en una zona.

El valor predeterminado es de 60.

5voto

CarpeNoctem Puntos 1824

Linux hace un buen trabajo de gestión de la memoria y que no deben interponerse en su camino. La vm.el swappiness configuración (mencionado anteriormente) no se interpone en su camino. Usted está más propensos a experimentar problemas impares hacer las cosas de otra manera.

Lo que hizo que el lanzamiento que fue por lo de la memoria de hambre? Puede ser sintonizado? Si no tiene su propio límite de memoria de las directivas usted puede mirar ulimit así.

3voto

Gruic Puntos 21

Si usted tiene la memoria disponible para todas sus aplicaciones, es aceptar para establecer la el swappiness a 0 para que las cosas no intercambiar. Por ejemplo, qemu-kvm es un gran destino de la VMM para obtener intercambiado, ya que "parece" ser libre la mayoría del tiempo. Yo he visto hasta el 80% de la memoria de qemu-kvm memoria escrita para intercambiar. Las máquinas virtuales que se ejecutan en qemu-kvm se convertirá cerca-no responde, ya que se ejecutan fuera de swap (a pesar de que el huésped no tiene ni idea de que esto está sucediendo). Los invitados de VM va a pensar que es el desempeño de la mayoría de maravilla, incluso aunque la verdad es que arrastra a lo largo terriblemente. Cuando me montón de VMs "despierta" y comienza a hacer cosas, que pueden elevar el promedio de carga de hasta más de 30, incluso en la calificación de la empresa de hardware con amplia rápido de disco y de memoria. Supongo que esto es una falta en el fuera-de-la-caja de qemu-kvm de diseño.

Espero que esto ayude a alguien.

1voto

3dinfluence Puntos 11084

Para copiar una parte de mi respuesta de esta pregunta.

Por lo que usted sabe cómo el swappiness sintonizable obras. Esto funciona, por decir la VM subsistema de buscar páginas de intercambio cuando el % de la memoria asignada al proceso de tablas de la página + el swappiness valor es > 100. Así un valor de 60 hará que el sistema se inicie fuera la paginación rancio páginas de el proceso de la tabla de la página cuando se está utilizando más de un 40% de la memoria del sistema. Si desea permitir a sus programas a utilizar más memoria a expensas de caché vas a querer bajar el el swappiness valor.

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: