¿Puedes tener demasiado intercambio?

16

Me preguntaba si puede tener una partición de intercambio que sea demasiado grande. En caso afirmativo, ¿ cuándo es una partición de intercambio demasiado grande? ¿Cuáles son los inconvenientes / efectos negativos de tener una partición de intercambio que es demasiado grande (incluso si tengo mucho espacio en disco)?

Si no, ¿cuáles son los beneficios de tener más del espacio de intercambio recomendado?

An0n
fuente
55
La desventaja aparente es que desperdicia espacio en disco. OTOH: si tiene un intercambio "demasiado" (digamos 30 GB en un sistema de 4 GB), las aplicaciones que se comporten mal se quedarán sin memoria mucho más tarde y eso ralentizará su sistema. Las aplicaciones de comportamiento ordenado (sin pérdidas de memoria) simplemente no lo usarán. (Lo admito, esta es una vista simplificada)
PerlDuck
Estoy de acuerdo con @PerlDuck: "demasiado intercambio" solo usa espacio en disco. Su sistema será lento si comienza a usar el intercambio, en ese caso, ejecute menos aplicaciones, aplicaciones más livianas u obtenga más RAM
Panther
Lo sé, así que si tienes suficiente RAM, aparte de usar demasiado espacio en el disco, ¿hay alguna desventaja? Excepto las aplicaciones "mal comportamiento" fuera del curso, como dijo PerlDuck.
An0n
1
VTD Todas las preguntas en la edición justifican el cambio del motivo cercano de tema duplicado a fuera de tema como demasiado amplio. OP es obviamente molesto pero meta o una sala de chat es un mejor lugar para la discusión.
WinEunuuchs2Unix
3
En caso de que las personas no estén seguras de lo que están hablando @PerlDuck (y Panther), tenga en cuenta que incluso si tuviera un espacio de disco ilimitado, tener más espacio para intercambiar hará procesos que deberían terminarse, y que de lo contrario serían rápidamente terminado automáticamente, primero ralentiza el sistema a un rastreo durante mucho tiempo . El comentario de PerlDuck, creo, también funcionaría como respuesta. Si terminamos reabriendo esta pregunta, tal vez se pueda agregar una respuesta sobre los inconvenientes de tener mucho más intercambio del necesario. Porque hay inconvenientes.
Eliah Kagan

Respuestas:

8

No

A primera vista, no puede tener demasiado intercambio porque puede ver el intercambio como una forma de aumentar la RAM. En realidad, no aumenta la RAM, solo pretende: Si tiene 8 GB de RAM real y un espacio de intercambio de, por ejemplo, 24 GB configurado, entonces sus programas pueden asignar y usar hasta 8 + 24 = 32 GB de memoria lo que suena bien al principio.

Pero

Si ejecuta aplicaciones que tienen pérdidas de memoria o no están hechas para funcionar con 8 GB de memoria (piense en la edición de video, por ejemplo), estas aplicaciones comenzarán a usar ese espacio de intercambio, y el intercambio es lento. Cuanto más espacio de intercambio utilicen activamente estas aplicaciones, más ocupado estará el sistema con solo mover la memoria hacia y desde el disco. Esto reducirá drásticamente la capacidad de respuesta general del sistema y conducirá a una mala experiencia del usuario.

Finalmente, cuando se agota el espacio de intercambio, algunas aplicaciones enfrentarán una situación de falta de memoria y serán eliminadas por el OOM_Killer del núcleo .

De wiki :

El caso típico de OOM en las computadoras modernas ocurre cuando el sistema operativo no puede crear más memoria virtual, porque todos sus dispositivos de respaldo potenciales se han llenado.

Conclusión

Por lo tanto, un inconveniente de tener demasiado espacio de intercambio es: cuanto más se tiene, más adelante esta situación ocurre OOM y cuanto más tiempo se tendrá que sufrir de un sistema de retraso y no responde.

Otra desventaja aparente, por supuesto, es el desperdicio de espacio en disco, pero eso podría no ser tan importante hoy en día.

PerlDuck
fuente
+1 para la consideración del caso de borde. Personalmente, no soy un gran fanático del intercambio ya que la hibernación es para los osos y mis sistemas están demasiado ocupados para eso. ;-) Salud.
Élder Geek
@ElderGeek LOL. En realidad, Eliah Kagan me hizo convertir mi simple comentario en una respuesta. Me convenció de que la desventaja mencionada de tener demasiado intercambio es algo crucial y podría ser importante para otros. Estoy contigo y tengo un pequeño intercambio configurado (2 GB con 8 GB de RAM) y casi nunca se toca.
PerlDuck
He tenido resultados similares con configuraciones similares, desearía que el rumor de intercambio 2x finalmente muriera.
Élder Geek
5

No hay inconveniente directo en el gran espacio de intercambio. Con la forma en que lo gestiona el núcleo, un aumento de la cantidad de espacio de intercambio por encima de lo suficiente no tiene o tiene un impacto insignificante en el rendimiento.

El único inconveniente del espacio de intercambio "demasiado" es que no puede usar ese espacio para almacenamiento.

David Foerster
fuente
1
@ An0n: Creo que sería un gran inconveniente asignar todos los ~ 6 TB actualmente conectados a mi máquina como espacio de intercambio. ¿Dónde pondría toda mi música ...?
David Foerster
2
@ An0n: ¿De qué sirve una computadora si todo lo que puede hacer es arrancar y luego no almacenar datos útiles? Eso suena más como un costoso calentador de espacio.
David Foerster
1
@ An0n: Claro, supuse lo mismo pero te estás perdiendo el punto. Creo que podemos estar de acuerdo en que para ser útil, una computadora debe poder alcanzar un estado de sistema utilizable (incluido el poder arrancar) y tener acceso al almacenamiento que el usuario puede usar para sus datos personales. Eso requiere que no esté ocupado por espacio de intercambio.
David Foerster
2
Por supuesto que es relativo. Al igual que "demasiado" es relativo. Si tengo un sistema de arranque y asigno todo mi espacio libre como espacio de intercambio, ya no me será útil debido a la falta de espacio libre hasta que cambie la configuración del sistema de una manera que termine en más espacio libre. En ese sentido, el espacio de intercambio sería "demasiado" durante ese tiempo hace que el sistema sea inútil durante ese tiempo. De todos modos, no estoy aquí para discutir la semántica de las palabras contigo.
David Foerster
1
@ An0n Para subrayar el punto aquí, el espacio de intercambio es espacio que no puede usar para nada más. El espacio de almacenamiento en disco cuesta dinero. Si el espacio en su disco es limitado (el mío es de solo 32 GB), desea mantener la mayor cantidad posible libre para instalar programas y escribir archivos con sus cosas, como música. Las personas generalmente tratan de mantener el intercambio al mínimo por esa razón, y no por otra razón. El intercambio es algo que el sistema podría necesitar para seguir funcionando de manera eficiente, que de otra manera no tiene valor para el usuario. En general, queremos que nuestro sistema use solo los recursos necesarios y nos deje mucho con qué jugar.
Zanna
4

No sentirá ningún otro inconveniente que no sea menos espacio en su disco, creo que hoy en día la concepción de 2x la cantidad de ram no está actualizada en la mayoría de los sistemas. Por lo general, recomiendo usar el mismo tamaño de su RAM para intercambiar memoria en las computadoras portátiles, sin embargo, para darle la oportunidad de hibernar su PC sin perder ningún dato debido a la naturaleza volátil de la RAM.

Los únicos casos en los que consideraría usar más de 1x el tamaño de RAM para la partición de intercambio es cuando cree que va a actualizar su tamaño de RAM en poco tiempo. O si planea utilizar un sistema donde almacenará en una especie de caché la cantidad de memoria utilizada por programas que no se utilizan en el mismo momento.

Espero que mi punto sea lo suficientemente claro, y repito, no creo que experimente ningún problema por tener demasiada memoria de intercambio.

¡Que tengas un buen día!

zurg
fuente
2
No uso el intercambio en absoluto si RAM> 2-4 Gb en un solo escritorio de usuario.
Panther
1
@Panther Por qué no? Y no se trata de cómo o cuándo lo usas. Se trata del tamaño y el uso.
An0n
2
¿Ha considerado el impacto de las pérdidas de memoria?
Elder Geek
@ElderGeek Hola, no, no lo consideré. Me gusta tu respuesta, ¡no sabía sobre el problema de pérdidas de memoria!
zurg
2

¿Cuánto SWAP necesita realmente la hibernación?

Es un error pensar que necesita RAM x 2 para el tamaño de SWAP cuando usa la hibernación. El tamaño de intercambio debe ser el tamaño de la RAM utilizada, no la RAM instalada . En general, el tamaño de intercambio debe ser 2/5 de la RAM instalada. Para averiguar la cantidad mínima de RAM necesaria para usar:

$ cat /sys/power/image_size
3153907712

En esta máquina de 8 GB de RAM, se necesitan 3 GB de mínimo para hibernar.

Puede ajustar los valores image_sizepara un tamaño de intercambio más pequeño con riesgo de falla. Puede ajustarlo para un tamaño de intercambio más grande y posiblemente acelerar la velocidad de hibernación.

Referencia: https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate


16 MB de RAM en 1995, diferentes reglas para 16 GB de RAM en 2018

En los días en que tenía 16 MB de RAM, x 2 para el intercambio de 32 MB en su disco duro de 720 MB tenía sentido. Un poco de historia RAM y HDD en este artículo de 1995 del Washington Post .

23 años después, algunos artículos técnicos de ese 1995 (aunque no encontré ninguno) podrían confundir a los nuevos usuarios. Sin embargo, encontré un artículo de 2007 que recomienda SWAP = RAM x 2 .

En 1995, el intercambio de 32 MB de HDD de 760 MB era del 4% del HDD. De hecho, la partición de intercambio se pudo haber usado mucho en 1995. Hoy en 2018, 16 GB de RAM x 2 para 32 GB de SWAP en su SSD de 256 GB no tiene el mismo sentido, ya que toma el 13% de SSD. Hoy mi partición SWAP de 8 GB no se usa en absoluto a menos que la obligue a llenarla cuando pruebo OOM-Killer: Google Chrome ocupará mi memoria hasta el punto en que haga que mi computadora se detenga casi por completo. ¿Qué puedo hacer para evitar esto? .

WinEunuuchs2Unix
fuente
+1 por señalar la idea errónea de la regla 2x que se promociona a menudo, que es una litera total.
Élder Geek
@ElderGeek Gracias. Agregué una sección de historial sobre cuándo 16 MB de RAM por 2 para 32 MB de SWAP puede haber tenido sentido.
WinEunuuchs2Unix
Otra cosa a considerar es SSD versus HDD. ¿Queremos un montón de lecturas / escrituras en SSD que lo lleven más rápido al fracaso en esa parte de la SSD (o esto es un mito)? En mi sistema de 32 GB de RAM, utilicé 2 GB de velociraptor Drive para SWAP pero sin intención de hibernación, todavía no estoy seguro de si esto está bien, ¿posiblemente no podría haber tenido un intercambio? Pero si estuviera hibernando, tal vez 4 GB serían suficientes, pero es probable que esté usando 20 GB de navegador, ¿y entonces 4 GB no serían suficientes?
NZ Dev
@NZDev Tengo mi intercambio en SSD pero rara vez se usa. La última vez que lo revisé, todavía quedaba el 100% de vida después de 1 año de uso. Para ver el porcentaje de vida restante: askubuntu.com/questions/1038701/how-do-i-check-system-health/…
WinEunuuchs2Unix
1

Qué es SWAP:

El espacio de intercambio en Linux se usa cuando la cantidad de memoria física (RAM) está llena. Si el sistema necesita más recursos de memoria y la RAM está llena, las páginas inactivas en la memoria se mueven al espacio de intercambio. Si bien el espacio de intercambio puede ayudar a las máquinas con una pequeña cantidad de RAM, no debe considerarse un reemplazo para más RAM. El espacio de intercambio se encuentra en los discos duros, que tienen un tiempo de acceso más lento que la memoria física.

El espacio de intercambio puede ser una partición de intercambio dedicada (recomendado), un archivo de intercambio o una combinación de particiones de intercambio y archivos de intercambio.

El intercambio debe ser igual a 2x RAM física.


Ventajas:

Proporciona espacio de desbordamiento cuando su memoria se llena por completo. Puede alejar los elementos raramente necesarios de su memoria de alta velocidad. Le permite hibernar.

Desventajas

Ocupa espacio en su disco duro ya que las particiones SWAP no cambian de tamaño dinámicamente Puede aumentar el desgaste de su disco duro No necesariamente mejora el rendimiento (ver más abajo)


Cuando las particiones SWAP "No ayudan" como en "no merece la pena en comparación con el almacenamiento adicional":

Si su disco duro tiene solo 5400 RPM y tiene poca RAM, digamos> 2GB. Por qué ? Debido a que el sistema constantemente quería acceder a la partición SWAP, eventualmente se volverá muy lento. Aunque ahora tiene espacio en la memoria, todo lo que hay en la partición SWAP debe ser reubicado. Debido a que el sistema irá lento, la asignación se queda en la partición SWAP. Esto solo se puede solucionar con un reinicio. De todos modos, tomará un tiempo porque el sistema necesita eliminar todo de la partición SWAP antes de apagarse.


** Conclusión: **

Si desea poder hibernar su computadora, entonces debe tener una partición SWAP. El tamaño de esta partición debe ser el tamaño de la memoria instalada, más un 10-25% adicional para dejar espacio para los elementos que ya se trasladaron a la partición SWAP.

Si solo desea un pequeño aumento del rendimiento (y tiene al menos un disco duro de 7200 rpm), puede agregar una partición SWAP si lo desea, pero no es necesario a menos que tenga menos de 4 GB de memoria instalada. El tamaño de esto puede ser lo que quieras. Sin embargo, recomiendo 2x la RAM como punto clave. SI tiene suficiente espacio de almacenamiento.

Si tiene un disco duro de 5400 rpm, no debe crear una partición SWAP simplemente porque el cuello de botella empeorará su computadora. Sin embargo, si absolutamente desea tener SWAP, puede crear una partición utilizando las mismas pautas de tamaño descritas anteriormente, pero cambie el valor de intercambio a algo mucho más bajo.



Mi opinión:

Sin embargo, en cualquier caso, si usa Ubuntu como su sistema operativo principal para el uso diario, recomiendo 2 veces el tamaño de la RAM. Porque no instalas Ubuntu solo porque tienes una computadora vieja. Pero porque quieres usar el sistema como tu sistema operativo principal.

En lugar de ajustar las particiones del sistema para mantenerlo en funcionamiento, compre hardware adicional si es necesario. Si compra un juego, también se asegura de que su sistema esté "actualizado" en lugar de ajustar la configuración para que sea "Jugable".

Es mejor tener algo de espacio extra, SWAP, velocidad, potencia en lugar de tener demasiado corto o necesitar cambiar el tamaño de todo más adelante. ¿Porque necesitas SWAP o espacio, compraste RAM? O necesita comprar ram rápidamente porque se rompió una ranura de memoria o un dispositivo.

An0n
fuente
Re: su conclusión Simplemente no tiene sentido, u otra forma de decirlo es dónde trazamos la línea. por ejemplo, RAM de 8 GB más intercambio de 16 GB: ¿Qué sucede si uso los 8 GB de RAM y los 9 GB de intercambio? Todavía no hay suficiente espacio para hibernar. Entonces, ¿qué da? En otras palabras, no importa de qué tamaño lo hagas, aún puedes usarlo todo y más. Entonces, ¿por qué el archivo de intercambio no tiene 2 espacios dedicados? 1 como memoria virtual y el otro como espacio de hibernación, que sería la suma o el otro 2. Simplemente no se acumula para mí y nadie ha respondido a esta pregunta.
NZ Dev
0

Hay una sobrecarga, de hecho, pero es muy pequeña; para cada "página" en el disco hay un contador de referencia, y hay un par de estructuras asociadas con cada área de intercambio; esto está en la memoria del núcleo, por lo que no se puede paginar. Está entre 2 y 16 MB cada 4 GB, dependiendo de la arquitectura. El resto es bastante dinámico, por lo tanto, depende del uso.

Por lo tanto, puede tener mucho, pero tenga en cuenta que el espacio de direcciones paginado en sí mismo impone un poco de sobrecarga en la RAM, y además hay algo de seguimiento para las páginas intercambiadas, por lo que no se escala demasiado; incluso si impone bastante sobrecarga, los sistemas de archivos son mucho más eficientes que las áreas de intercambio cuando se trata de manejar áreas más grandes ya que vfs puede descargar información estructural al disco (normalmente al menos las tablas de páginas no pueden intercambiarse, debido a limitaciones de hardware, y es probable que el vmm esté usando memoria no intercambiable para todo lo que es contabilidad).

No puedo pensar en ninguna otra desventaja, OTOH tener muy poco intercambio puede causar fragmentación al intercambiar páginas, lo que significa más búsqueda. Al tener mucho, después de cierto punto tampoco habrá mejoras.

El intercambio es generalmente un último recurso (aparte de la hibernación), por lo que probablemente no se beneficiará de tener más espacio de intercambio que RAM, especialmente si tiene más de 4 GB de RAM, y a veces incluso tan grande como RAM es demasiado (piense 64 GB) .

Ismael Luceno
fuente
Lo sentimos, tu última declaración / oración es confusa, de lo contrario es un buen complemento para lo anterior.
NZ Dev
@NZDev, ¿es mejor ahora?
Ismael Luceno