Tengo 16GB de RAM. ¿Necesito un intercambio de 32GB?

250

Leí en muchos lugares que la regla de oro para el espacio de intercambio es duplicar la cantidad de RAM física. Sin embargo, 32 GB parece MUCHO. ¿Necesito tanto? ¿Lo necesito para nada con esta gran cantidad de RAM física?

    
pregunta Tamás Szelei 16.06.2011 - 20:52

22 respuestas

172

Todo depende de lo que planeas hacer con la máquina. Por ejemplo, si fuera un servidor Sap, entonces sí, agregaría un intercambio de 32 gb (tenemos cajas en el trabajo con 128 gb de ram y 32 gb de swap). Si manipulas imágenes y videos masivos, entonces tiene sentido tener un pequeño intercambio. 32gb es probablemente excesivo.

Sin embargo, no diría zero swap.

En el caso improbable de que te quedes sin RAM, quizás abriendo un archivo grande, perhepea una pestaña larga en Firefox, no importa, en ese caso tu kernel OOM killer se activará y comenzará a matar aplicaciones para obtener memoria de vuelta. En esas circunstancias, es muy posible que pierda datos a medida que las aplicaciones mueren. Sin embargo, si tiene un poco de intercambio, el sistema continuará, tomando el intercambio y permitiendo que el sistema continúe. El sistema se ralentiza a medida que ocurre un intercambio pesado, se nota e investiga antes de que todo el intercambio se agote. Además, el disco es muy barato, ¿por qué no intercambiar?

Cualquier persona que diga "no necesita intercambio" sin preguntarle qué está haciendo en realidad con su computadora, está haciendo suposiciones. Si bien puede hacer muy poco con su computadora que come RAM, lo mejor es hacer las preguntas sobre lo que planea hacer con él antes de hacer el juicio precipitado que no "necesita" intercambiar. En mi humilde opinión

    
respondido por el popey 16.06.2011 - 23:33
221

Esta es una muy buena recomendación de RedHat: Espacio de intercambio de sistema recomendado

Un extracto del mismo enlace:

  

En años pasados, la cantidad recomendada de espacio de intercambio aumentó linealmente con la cantidad de RAM en el sistema. Pero debido a que la cantidad de memoria en los sistemas modernos se ha incrementado a cientos de gigabytes, ahora se reconoce que la cantidad de espacio de intercambio que necesita un sistema es una función de la carga de trabajo de memoria que se ejecuta en ese sistema. Sin embargo, dado que el espacio de intercambio generalmente se designa en el momento de la instalación, y que puede ser difícil determinar de antemano la carga de trabajo de memoria de un sistema , recomendamos determinar el intercambio del sistema usando la siguiente tabla.

Tabla actual (desde diciembre de 2017):

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            At least 4 GB                  1.5 times the amount of RAM
64GB of RAM or more           At least 4 GB                  Hibernation not recommended

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 
    
respondido por el ssapkota 17.06.2011 - 00:22
51

Argh. Las respuestas en esta publicación son muy incorrectas, y esto aparece como uno de los primeros resultados en una búsqueda en Google de "¿Cuánto intercambio?"

En primer lugar, un buen punto de referencia es Preguntas frecuentes sobre el intercambio de Ubuntu

Esta pregunta frecuente hace un punto importante que nadie menciona aquí, y eso es (énfasis mío)

  

A veces, un programa grande (como OpenOffice, Neverwinter Nights o un editor de video) hace que todo el sistema necesite memoria extra. Una cantidad importante de las páginas utilizadas por estos programas grandes durante su inicio solo se pueden usar para la inicialización y luego nunca volver a usar. El sistema puede intercambiar esas páginas y liberar la memoria para otros programas o incluso para la memoria caché de disco . En estos casos, el intercambio se utilizará para ayudar al sistema a manejar cualquier carga adicional.

Por lo tanto, ¡el intercambio no es solo para la hibernación! Esta actividad, el intercambio de páginas no utilizadas, puede ser beneficioso en algunos escenarios y perjudicial en otros. Es beneficioso porque puede liberar memoria para que el sistema lo use en otro lugar, pero perjudicial cuando ese cambio es demasiado agresivo, y cambia las páginas que realmente desea. Esto es especialmente cierto en un sistema de escritorio en el que las aplicaciones pueden permanecer inactivas durante largos periodos de tiempo, pero el usuario aún espera un rendimiento inmediato para que vuelva a la vida. El control de qué tan agresivo es esto se conoce como swappiness

Las Preguntas Frecuentes de Ubuntu Swap discuten esto ligeramente en ¿Qué es swappiness y cómo lo cambio? el valor predeterminado en un sistema Ubuntu es 60, mientras que las preguntas frecuentes recomiendan un valor de 10 para una máquina de escritorio.

Por lo tanto, diría que en general es muy importante no tener un sistema sin espacio de intercambio, ya que algunas personas recomendaban esta cuestión, a menos que sepas para ciertos escenarios de uso muy específicos para su sistema y son muy conscientes de las consecuencias que podría tener. (Personalmente, no hay ninguna situación en la que ejecute un sistema sin intercambio) En un escenario sin memoria sin intercambio, el sistema comenzará a matar procesos (generalmente el que causó el OOM)

    
respondido por el brent 08.06.2012 - 16:08
24

Probablemente no. Si planea hibernar su computadora (suspensión en disco), necesitará al menos 16 GB. Si no va a hibernar, es suficiente dejar algunos gigabytes para el intercambio (4-8 max.)

    
respondido por el bandi 16.06.2011 - 20:56
12

Por experiencia, puedo decir esto:

Por lo que he visto al usar 4 GB de RAM durante 3 años, Ubuntu ha tenido un uso de intercambio de alrededor de 60MB pero solo cuando se realizan algunas tareas muy intensas. Hace un par de semanas comencé a usar una PC que tenía 16 GB de RAM y el uso de intercambio se ha mantenido en 0% para siempre. He realizado múltiples compilaciones, renderizado de videos y otras tareas intensivas. Nunca ha habido un cambio en el intercambio. Ni siquiera un cambio de 1 KB.

Básicamente, en Ubuntu, cuanta más memoria RAM tenga, menos posibilidades tendrá de usar o necesitar cambios para cualquier tarea. 16 GB de RAM, o incluso 8 GB de RAM es más que suficiente. Lo he hecho con las PC de 16GB PC 8 Virtualbox (cada una entre 1GB y 2GB de RAM). He compilado y renderizado un video de 720p y ni siquiera en esas condiciones ha cambiado el intercambio.

Dicho esto, la regla del doble de memoria RAM no debería aplicarse en los sistemas basados ​​en Linux, más aún si tiene más memoria. Sin embargo, debes tener el mismo tamaño de intercambio igual al tamaño de ram o si estás planeando hibernar, ya que el proceso de hibernación atrapa todo en ram y lo pone en swap, por lo que necesitas un tamaño mínimo igual al tamaño de ram. para el intercambio.

El otro detalle es que algunas aplicaciones (no todas) obligarán a leer desde el intercambio. Entonces, tener un poco es bueno. Deshabilitarlo por completo es muy malo en el caso de que llegues al punto de falta de memoria u OOM. En este punto, si no tiene el intercambio, no hay forma de que el kernel pueda intercambiar o deshabilitar diferentes usos de la aplicación ram y eventualmente comenzar a eliminar los menos usados.

Si ayuda con la toma de decisiones en el escritorio doméstico, después de actualizar esta respuesta en más de 4 años, he usado una PC de 16 gb, 32 gb y ahora una de 64 gb ram. Las pruebas con solo 128 MB de intercambio revelaron que no necesitaba un intercambio más grande, excepto si quería hibernar. He usado entornos de nube en ellos, lxc, virtualbox, wine, lo que sea. He renderizado videos con openshot, kazam, handbrake, audacity. He usado gimp, blender, Inkscape e incluso el conjunto completo de LibreOffice. Incluso jugué a vapor y en ninguno de esos escenarios se usó el intercambio. Por supuesto, eventualmente se usará si terminas usando la cantidad total de ram de una manera u otra, pero en general, cuanto más ram tengas, menos intercambio necesitarás.

Solo mis 2 centavos.

    
respondido por el Luis Alvarado 13.02.2012 - 07:50
8

No, no necesitas 32 GB siempre que no uses funciones como suspender en el disco.

    
respondido por el AlexTheBird 16.06.2011 - 20:58
5

En la mayoría de los casos, diría que no necesitas ninguno. Tal vez, si editas archivos de imágenes muy grandes o alguna otra aplicación que necesita mucho RAM, es posible que necesites algunos.

Nunca he visto ninguno usado en mi sistema, similar al tuyo. De hecho, en un momento lo tuve deshabilitado por una semana o dos accidentalmente y nunca noté ningún problema. Pero aún conservo alrededor de 5GB para mi disco de intercambio, principalmente porque tengo más de 1TB disponible, y no uso todo el espacio como está.

    
respondido por el Marty Fried 13.05.2012 - 04:00
3

Si su ram es superior a 1GB, generalmente es suficiente para ubuntu. La regla "Swap = RAM x2" es para computadoras viejas con 256 o 128mb de ram.

Entonces, 1 GB de intercambio suele ser suficiente para 4 GB de RAM. 8 GB sería demasiado.

    
respondido por el Emerson Hsieh 13.05.2012 - 04:00
3

Si usa hibernate, es seguro tener tanto intercambio como la cantidad de RAM.

Para obtener una regla general sobre cuánto intercambio hacer, lea aquí:

enlace

En tu caso, diría que 4 GB serían suficientes para que coincida con tu RAM.

    
respondido por el roadmr 13.05.2012 - 06:19
2

Si usa hibernación, su intercambio debe tener al menos la misma cantidad que su ram físico.

    
respondido por el gemue2010 13.05.2012 - 06:17
1

Solo necesitas cambiar si quieres utilizar hibernate para el resto, es una pérdida de espacio en tu disco duro.

    
respondido por el Rens 16.06.2011 - 21:43
1

Tengo una computadora portátil con 4 GB de RAM y Ubuntu 16.04. Después del arranque, consume alrededor de 1GB de RAM e incluso entonces, Inkscape (por ejemplo) no se ejecutará (el monitor del sistema muestra más del 50% de RAM libre). Inkscape se congela Después de aplicar un archivo de intercambio, se ejecuta como se espera, incluso sin que se utilice un solo byte de intercambio). Así que recomiendo una partición de intercambio (o archivo de intercambio). Sobre el tamaño del mismo, puede usar la regla david6.

    
respondido por el Danilo 24.06.2016 - 03:54
1

de la SwapFaq de Ubuntu :

¿Por qué necesito el intercambio?

Programas que consumen memoria A veces, un programa grande (como LibreOffice, Neverwinter Nights o un editor de video) hace que todo el sistema necesite memoria extra. Una cantidad importante de las páginas utilizadas por estos programas grandes durante su inicio solo se pueden usar para la inicialización y luego nunca volver a usar. El sistema puede intercambiar esas páginas y liberar la memoria para otros programas o incluso para la memoria caché de disco. En estos casos, el intercambio se utilizará para ayudar al sistema a manejar cualquier carga adicional.

Hibernación (suspensión en disco) La función de hibernación (suspensión en disco) escribe el contenido de la RAM en la partición de intercambio antes de apagar la máquina. Por lo tanto, su partición de intercambio debe ser al menos tan grande como su tamaño de RAM. La implementación de hibernación actualmente utilizada en Ubuntu, swsusp, necesita un intercambio o suspensión de partición. No puede usar un archivo de intercambio en un sistema de archivos activo.

Circunstancias imprevisibles Eventos imprevistos pueden suceder y sucederán (un programa enloquecedor, una acción que necesita mucho más espacio de lo que creía o cualquier otra combinación impredecible de eventos). En estos casos, el intercambio le puede dar un retraso adicional para descubrir qué sucedió o para terminar lo que está trabajando.

Optimizar el uso de memoria Dado que los discos duros mecánicos son considerablemente más lentos que la RAM (SSD - Unidad de estado sólido: el almacenamiento no es tan lento como las unidades físicas, pero aún más lento que la RAM) cuando necesita un archivo (ya sea un archivo de datos como un video, ejecutables como Firefox o bibliotecas), el kernel de Linux lee el archivo en la memoria RAM y lo mantiene allí, para que la próxima vez que lo necesite ya esté en la RAM y el acceso a los datos sea mucho Más rápido. Las porciones de RAM que aceleran la lectura del disco se llaman "memoria en caché". Notarás que hacen una gran diferencia en términos de capacidad de respuesta. El kernel de Linux mueve automáticamente la memoria RAM reservada por los programas, pero no realmente utilizada, al intercambio, de modo que puede servir para ampliar la memoria en caché.

Optimización del rendimiento de intercambio Dado que el espacio de intercambio utiliza un dispositivo de disco, esto puede causar problemas de rendimiento en cualquier sistema que utilice espacio de intercambio significativamente porque el sistema también puede estar utilizando el mismo dispositivo de disco al mismo tiempo que es requerido para operaciones de intercambio. Una forma de reducir este problema es tener espacio de intercambio en un disco físico diferente para que la competencia por ese recurso sea reducida o eliminada.

¿Cuánto intercambio necesito?

Por menos de 1 GB de memoria física (RAM), es muy recomendable que el espacio de intercambio sea, como mínimo base, igual a la cantidad de RAM. Además, se recomienda que el espacio de intercambio sea como máximo el doble de la cantidad de RAM, dependiendo de la cantidad de espacio disponible en el disco duro para el sistema debido a los rendimientos decrecientes.

Para sistemas más modernos (& gt; 1GB), su espacio de intercambio debe ser como mínimo igual a su tamaño de memoria física (RAM) "si usa hibernación"; de lo contrario, necesitará un mínimo de redondeo (sqrt (RAM) ) y un máximo de dos veces la cantidad de RAM. El único inconveniente de tener más espacio de intercambio de lo que utilizará realmente es el espacio en disco que se reservará para él.

Los "rendimientos decrecientes" significan que si necesita más espacio de intercambio que el doble del tamaño de su RAM, será mejor que agregue más RAM ya que el acceso a la Unidad de Disco Duro (HDD) es aproximadamente 10³ más lento que el acceso RAM, por lo que tomaría algo ¡1 segundo, de repente lleva más de 15 minutos! Y aún más de un minuto en una unidad de estado sólido (SSD) rápida ...

Escenarios de ejemplo

    RAM(GB) No hibernation  With Hibernation  Maximum
      1      1                2                   2
      2      1                3                   4
      3      2                5                   6
      4      2                6                   8
      5      2                7                  10
      6      2                8                  12
      8      3               11                  16
     12      3               15                  24
     16      4               20                  32
     24      5               29                  48
     32      6               38                  64
     64      8               72                 128
    128     11              139                 256
    
respondido por el Jebin Philipose 17.04.2018 - 12:11
0

Creo que lo obtuviste al revés. Recomendación SWAP , necesitarás ~ 16GB. Así que SWAP debería ser 1/2 del tamaño real de RAM. Pero aún eso es MUCHO espacio. Depende de lo que lo necesite. Yo diría que, si no usa "hibernar", mantenga entre ~ 4GB y ~ 8GB si puede pagar el espacio en disco. Como tiene 16 GB, supongo que puede estar utilizando una computadora que necesita recursos potentes ... así que tal vez sea beneficioso tener también SWAP de 16 GB a 32 GB.

Tengo 2GB de RAM y 1GB de SWAP. Lo hago bastante bien con eso, pero esa es solo mi opinión. Mire los otros comentarios / sugerencias y vea lo que dicen.

    
respondido por el waynerod10 17.06.2011 - 09:56
0

No pude encontrar referencias para citar aquí, pero si vas a utilizar una aplicación donde necesitas intercambiar datos enteros en la RAM, necesitarías al menos 'tamaño de RAM + 128 MB' o '1,25 veces de RAM Tamaño '(olvidé cuál era el correcto) suponiendo que tienes RAM más de 2 GB. Si la RAM es de 2 GB o menos, se recomienda tener el doble de tamaño de RAM como swap. Seguí esta recomendación en mi organización anterior para IBM AIX basada en un documento de IBM. Creo que esto es cierto para la mayoría de * nix ya que el uso de swap es mover datos de la memoria RAM de forma segura en caso de que la memoria RAM no sea suficiente para manejar los datos que se cargarán en la memoria. El comando 'libre' se puede usar para evaluar cuánto intercambio se usa en realidad.

    
respondido por el Jamess 17.06.2011 - 14:10
0

Tengo una computadora Mac, que dejo en meses. Aunque es mucho mejor que Windows, la memoria se cuela, especialmente con su navegador, si lo mantiene. Entonces, eventualmente, la memoria se llena. Ahora bien, si tiene intercambio, como han señalado otras personas, puede sobrevivir, detectar y matar algo. Pero más al punto, si tiene intercambio, algunas páginas se intercambian y puede continuar.

Entonces, si planea dejar la máquina por un tiempo prolongado, el intercambio es una manera útil de liberar memoria de la basura zombi. De acuerdo, tardarás más en llenar 16 g que yo con 3 gb, pero sigue siendo bueno. Para este propósito, 4Gb lo hará.

    
respondido por el Dov 17.06.2011 - 21:09
0

Si es una computadora portátil, mantenga al menos el intercambio igual a la cantidad de RAM, para permitir por completo la hibernación. Todavía mantendría una cantidad igual a la cantidad de RAM, incluso si se tratara de una computadora de escritorio, pero esa es solo yo; tendrá poco uso en una computadora de escritorio.

    
respondido por el haziz 13.05.2012 - 05:36
0

Tenga esto en cuenta:

  

Por lo general, debe dimensionar su espacio de intercambio en aproximadamente 2x de memoria principal para sistemas con menos de 2 GB de RAM, o aproximadamente 1 x memoria principal si tiene más

Entonces, si tiene 4 Gb de ram, nunca debería necesitar cambiarse a menos que hiberne
El intercambio requerido sería alrededor de 3 - 3.5 Gb, no más que eso .
Así que usa tu sentido común y no desperdicies espacio en el disco

    
respondido por el Ashu 13.05.2012 - 06:41
0

Si estás creando archivos muy grandes, por ejemplo, si estás construyendo sistemas de traducción automática en una computadora portátil (sí, ¿por qué querrías hacer eso?) Por mi parte, puedo decir que mis profesores me están haciendo ;-) ) la respuesta es un claro sí, de hecho en este momento me arrepiento de no haber hecho el cambio de 32 GB ...

Para el uso casual de Ubuntu para trabajos de oficina e Internet, nunca utilizarás ni siquiera 2 GB de intercambio, pero en realidad no hay una respuesta clara, todo depende de lo que vayas a hacer en tu computadora. .

    
respondido por el Hakim Jonas Ghoula 18.03.2013 - 10:35
0

Demasiada información y variación en la opinión.

Mis lineamientos de escritorio sugeridos para Ubuntu :

 amount of RAM      recommended swap    with hibernation
----------------    ----------------    ----------------
 less than 4GB        2x RAM size         3x RAM size
   up to 8GB              4GB             2x RAM size
   up to 16GB             4GB            1.5x RAM size
  16GB or more            4GB           No extra needed
    
respondido por el david6 18.04.2014 - 03:05
0

Nadie parece haber mencionado otra razón para tener un espacio significativo de intercambio es hacer que el sistema se desacelere notablemente en lugar de dejar de ejecutar programas cuando se acaba la memoria. Si tiene un equilibrador de carga al frente que redirecciona en caso de falla, puede mantener el intercambio pequeño (digamos 1GB). Si desea que los programas disminuyan primero, consideraría 4GB + raíz cuadrada de tamaño de memoria, y si los quiere realmente reducir la velocidad antes de que las cosas mueran, luego mantener a un mínimo de 1,25 veces el tamaño de la memoria (siempre que los humanos impacientes no se den por vencidos primero - esto sería más apropiado para los trabajos en segundo plano).

Configuro 1GB para mis máquinas de desarrollo y producción como estándar, entonces no importa cuánta o poca memoria real tengan, tienen lo suficiente para compilar todos los programas que quiero y para intercambiar programas prácticamente nunca utilizados. para usar la memoria liberada para el búfer de disco.

En comparación, tengo 64 GB de intercambio en mi computadora portátil de 32 GB, lo cual es un poco exagerado, pero quería asegurarme de que siempre funcionara aunque fuera lentamente, y sabía que iba a ejecutar memoria múltiple con hambre virtual. máquinas. Un efecto inesperado es cuando tienes un rango de memoria de 32 GB y luego reanudas desde la hibernación (que recarga 32 GB de memoria) es notablemente más lento que un arranque en frío.

    
respondido por el iheggie 19.03.2017 - 17:19
0

No, definitivamente no necesitas 32 GB. Como regla para un sistema de escritorio, diría que su intercambio debe estar entre 4GB y RAM física + un par de GB . Entonces, para 16 GB de RAM física, el intercambio puede ser de 4 GB a 18 GB, tal vez.

Las cosas que necesitará cambiar al espacio de intercambio equivaldrán aproximadamente a la cantidad de RAM física utilizada por las aplicaciones que permanecen como residentes, es decir, los servicios del sistema y las aplicaciones que permanecen en ejecución mientras los usa (en oposición a las tareas) que se ejecuta una vez, luego se cierra). En un sistema de escritorio, digamos que puede dejar abierto un navegador, un procesador de textos, un programa de correo electrónico y un editor de gráficos o videos mientras trabaja en otra cosa. Esos pueden ocupar fácilmente más de 2 GB, tal vez más de 4 GB. Entonces tal vez 6GB de intercambio es apropiado.

Como regla general, no hace daño tener algunos GB más de los que necesita. Por lo general, el intercambio no se utilizará si tiene mucha RAM, pero resulta útil cuando algún proceso utiliza una cantidad excesiva y comienza a disminuir, y puede evitar que el sistema mate procesos.

Nota: si desea utilizar la hibernación del sistema operativo, necesitará todos los 16 GB mencionados, pero las computadoras modernas no se benefician mucho de la hibernación. Si tiene una SSD rápida, el arranque puede ser tan rápido o más rápido que reanudar desde la hibernación, y las computadoras modernas usan energía despreciable en modo de reposo para que el beneficio del uso de energía de la hibernación no sea un factor importante.

    
respondido por el thomasrutter 20.03.2018 - 00:11

Lea otras preguntas en las etiquetas