La configuración de intercambio es un ajuste en la forma en que Linux calcula los beneficios / inconvenientes del intercambio en un escenario particular. Un intercambio alto no hará que el sistema se intercambie cuando no sea necesario, y un intercambio bajo, siempre que no desactive el intercambio por completo, no evitará que su sistema se intercambie cuando sea absolutamente necesario.
El intercambio predeterminado de 60 más o menos es un compromiso muy bueno que garantiza un buen rendimiento de su sistema al garantizar que no tenga problemas para asignar memoria caché mientras haya memoria de programa asignada no utilizada.
Recuerde que si tiene suficiente RAM para todos sus procesos más caché, que generalmente debería ser el caso si tiene suficiente RAM física, el intercambio no debería ser un problema para usted de todos modos. La forma preferida de solucionar problemas de intercambio excesivo es disminuir el uso de RAM por parte de los procesos y / o aumentar la RAM física. Reducir el intercambio tendrá un efecto negativo si lo que realmente necesita es más RAM.
¿Por qué la mayoría de las personas recomiendan reducir el intercambio a 10-20?
Porque la mayoría cree que el intercambio = malo y que si no reduce el intercambio, el sistema cambiará cuando realmente no sea necesario. Ninguno de los dos es realmente cierto. Las personas asocian el intercambio con los momentos en que su sistema se atasca; sin embargo, es principalmente un intercambio porque el sistema se atasca, no al revés. Es cierto que hay ciertos momentos en que el intercambio puede tener una penalización de rendimiento notable, pero el sistema ya lo habrá tenido en cuenta en su decisión de intercambiar, y decidió que no hacerlo tendría una penalización general mayor en el rendimiento o la estabilidad del sistema, lo que puede Más tarde se hará notable. En general, la configuración predeterminada debería dar como resultado el mejor rendimiento general y fiabilidad Recomiendo dejarlo en el valor predeterminado.
...
Una vez que haya utilizado suficiente memoria para que no quede suficiente para un caché que funcione sin problemas, Linux puede reasignar parte de la memoria de la aplicación no utilizada de la RAM para intercambiar.
Sin embargo, no hace esto de acuerdo con un límite definido. No es como si alcanzas un cierto porcentaje de asignación, entonces Linux comienza a intercambiarse. Tiene un algoritmo bastante "difuso". Tiene en cuenta muchas cosas, que se pueden describir mejor por "cuánta presión existe para la asignación de memoria". Si hay mucha "presión" para asignar nueva memoria, entonces aumentará las posibilidades de que algunas sean intercambiadas para hacer más espacio. Si hay menos "presión", disminuirá estas posibilidades.
Su sistema tiene una configuración de "intercambio" que le ayuda a ajustar cómo se calcula esta "presión". Normalmente no se recomienda alterar esto en absoluto, y ciertamente nunca recomendaría que lo altere. En general, el intercambio es algo muy bueno: cualquier penalización de rendimiento ocasional está destinada a compensarse con una ganancia en la capacidad de respuesta y la estabilidad general del sistema para una amplia gama de tareas. Si reduce la capacidad de intercambio, permite que la cantidad de memoria caché se reduzca un poco más de lo que lo haría de otra manera, incluso cuando realmente sea útil. Por lo tanto, corre el riesgo de ralentizar su computadora en general, porque hay menos caché, mientras que la memoria está siendo ocupada por aplicaciones que ni siquiera la usan. Depende de usted si es una compensación suficiente para cualquier problema específico que tenga con el intercambio.
¿Qué sucede cuando el sistema está bloqueado e intercambiando mucho?
Muchas veces las personas miran su sistema que está agotando el disco y usando mucho espacio de intercambio y culpa del intercambio. Ese es el enfoque equivocado a tomar. Si el intercambio llega a este extremo, significa que su sistema tiene una memoria extremadamente baja y el intercambio es lo único que evita que se bloquee o elimine los procesos al azar. Sin intercambio, en esta situación, los procesos se bloquearán y morirán. El intercambio es un síntoma de un problema más profundo. En un sistema con suficiente memoria para todas sus tareas, el intercambio solo garantiza que la memoria se utilice de manera eficiente, distribuyendo la memoria a la memoria caché a través de procesos inactivos donde cree que valdrá la pena. En un sistema donde el intercambio está agitando el disco sin descanso, no es culpa del intercambio.
Al elegir lo que se va a intercambiar en el disco, el sistema intenta elegir la memoria que no se está utilizando realmente: leer o escribir. Tiene un algoritmo bastante simple para calcular esto que elige bien la mayor parte del tiempo.
...
Pero, ¿cómo puede el intercambio acelerar mi sistema? ¿El intercambio no ralentiza las cosas?
El acto de transferir datos de la RAM al intercambio es una operación lenta, pero solo se toma cuando el núcleo está bastante seguro de que el beneficio general superará esto. Por ejemplo, si la memoria de su aplicación ha aumentado hasta el punto de que casi no le queda memoria caché y su E / S es muy ineficiente debido a esto, en realidad puede obtener mucha más velocidad de su sistema liberando algo de memoria, incluso después del gasto inicial de intercambio de datos para liberarlos.