¿Qué cantidad de Swap se debe utilizar en Linux?

¿Cuál debe ser el tamaño de la swap? ¿Debe el swap ser el doble del tamaño de la RAM o debe ser la mitad del tamaño de la RAM? ¿Necesito el swap si mi sistema tiene varios GB de RAM? Tus preguntas se responden en este detallado artículo.
Warp Terminal

¿Cuál debe ser el tamaño de la swap o área de intercambio? ¿Debe el swap ser el doble del tamaño de la RAM o debe ser la mitad del tamaño de la RAM? ¿Necesito el swap si mi sistema tiene suficientes GB de RAM?

Tal vez estas sean las preguntas más comunes sobre la elección del tamaño de la swap al instalar Linux.

No es nada nuevo. Siempre ha habido mucha confusión en torno al tamaño del canje.

Durante mucho tiempo, el tamaño de intercambio recomendado era el doble del tamaño de la RAM, pero esa regla de oro ya no es aplicable a los ordenadores modernos. Tenemos sistemas con tamaños de RAM de hasta 128 GB, muchos ordenadores antiguos ni siquiera tienen esta cantidad de disco duro.

Pero, ¿qué tamaño de swap asignarías a un sistema con 32 GB de RAM? ¿64 GB? Eso sería un ridículo desperdicio de disco duro, ¿no?

Antes de ver cuánto tamaño de swap debe tener, conozcamos rápidamente una o dos cosas sobre la memoria de swap. Esto te ayudará a entender por qué se utiliza la memoria de intercambio.

La explicación se ha simplificado para la comprensión de (casi) todo el mundo.

¿Qué es el swap? ¿Cuándo se utiliza el swap?

Tu sistema utiliza la memoria de acceso aleatorio (también conocida como RAM) cuando ejecuta una aplicación. Cuando hay pocas aplicaciones en ejecución, el sistema se las arregla con la RAM disponible.

Pero si hay demasiadas aplicaciones ejecutándose o si las aplicaciones necesitan mucha RAM, entonces tu sistema tiene problemas. Si una aplicación necesita más memoria pero toda la RAM está ya en uso, la aplicación se bloqueará.

Swap actúa como un respiro para su sistema cuando la RAM se agota. Lo que sucede aquí es que cuando la RAM se agota, su sistema Linux utiliza parte de la memoria del disco duro y la asigna a la aplicación en ejecución.

Eso suena bien. ¿Esto significa que si asignas como 50GB de tamaño de intercambio, tu sistema puede ejecutar cientos o quizás miles de aplicaciones al mismo tiempo? ¡ERROR!

Como ves, la velocidad importa aquí. La memoria RAM accede a los datos en nanosegundos. Un SSD accede a los datos en microsegundos mientras que un disco duro normal accede a los datos en milisegundos. Esto significa que la RAM es 1000 veces más rápida que el SSD y 100.000 veces más rápida que el HDD habitual.

Si una aplicación depende demasiado de la swap, su rendimiento se degradará al no poder acceder a los datos a la misma velocidad que lo haría en la RAM. Así, en lugar de tardar 1 segundo en realizar una tarea, puede tardar varios minutos en completar la misma tarea. Esto dejará la aplicación casi inútil. Esto se conoce como thrashing en términos informáticos.

En otras palabras, un poco de intercambio es útil. Mucho no servirá de nada.

¿Por qué es necesario el intercambio?

Hay varias razones por las que necesitaría un intercambio.

  • Si tu sistema tiene menos de 1 GB de RAM, debe usar la swap ya que la mayoría de las aplicaciones agotarán la RAM pronto.
  • Si tu sistema utiliza aplicaciones que consumen muchos recursos, como los editores de vídeo, sería una buena idea utilizar un poco de espacio de intercambio, ya que su memoria RAM puede agotarse aquí.
  • Si utilizas la hibernación, entonces debes añadir swap porque el contenido de la RAM se escribirá en la partición de swap. Esto también significa que el tamaño de la swap debe ser al menos del tamaño de la RAM.
  • Evite eventos extraños como que un programa se vuelva loco y se coma la RAM.

¿Necesitas swap si tienes mucha RAM?

Esta es una buena pregunta. Si tiene 32 GB o 64 GB de RAM, lo más probable es que su sistema no utilice nunca toda la RAM y, por lo tanto, nunca utilice la partición de intercambio.

Pero, ¿se arriesgará? Supongo que si tu sistema tiene 32 GB de RAM, también debería tener un disco duro de cientos de GB. Asignar un par de GB de intercambio no hará daño. Proporcionará una capa extra de «estabilidad» si un programa defectuoso empieza a utilizar mal la RAM.

¿Se puede utilizar Linux sin swap?

Sí, puedes, especialmente si tu sistema tiene mucha RAM. Pero como se ha explicado en la sección anterior, un poco de swap es siempre aconsejable.

De hecho, una distribución como Ubuntu crea automáticamente un archivo de intercambio de 2 GB de tamaño. Esto debería darte una indicación de que es recomendable tener algo de espacio de intercambio.

No se preocupe si no creó una partición de intercambio durante la instalación de Linux. Siempre puedes crear un archivo de intercambio en Linux en cualquier momento.

¿Cuál debería ser el tamaño del intercambio?

Ahora viene la gran pregunta. ¿Cuál debería ser el espacio de intercambio ideal para una instalación de Linux?

Y el problema aquí es que no hay una respuesta definitiva a esta pregunta sobre el tamaño del intercambio. Sólo hay recomendaciones.

Cada persona tiene una opinión diferente sobre el tamaño ideal de la swap. Incluso las principales distribuciones de Linux no tienen la misma pauta de tamaño de swap.

Si te guías por la sugerencia de Red Hat, ellos recomiendan un tamaño de swap del 20% de la RAM para sistemas modernos (es decir, 4GB o más de RAM).

CentOS tiene una recomendación diferente para el tamaño de la partición swap. Sugiere que el tamaño de la swap sea:

  • El doble del tamaño de la RAM si ésta es inferior a 2 GB
  • Tamaño de la RAM + 2 GB si el tamaño de la RAM es superior a 2 GB, es decir, 5 GB de intercambio para 3 GB de RAM

Ubuntu tiene una perspectiva totalmente diferente sobre el tamaño de la swap, ya que tiene en cuenta la hibernación. Si necesitas hibernación, un swap del tamaño de la RAM se hace necesario para Ubuntu.

De lo contrario, recomienda:

  • Si la RAM es inferior a 1 GB, el tamaño de la swap debe ser al menos igual al tamaño de la RAM y como máximo el doble del tamaño de la RAM
  • Si la RAM es superior a 1 GB, el tamaño de la swap debe ser al menos igual a la raíz cuadrada del tamaño de la RAM y como máximo el doble del tamaño de la RAM
  • Si se utiliza la hibernación, el tamaño de la swap debe ser igual al tamaño de la RAM más la raíz cuadrada del tamaño de la RAM

¿Confuso? Sé que es confuso. Por eso he creado esta tabla que te dará el tamaño de swap recomendado por Ubuntu basado en el tamaño de tu memoria RAM y la necesidad de hibernación.

Tamaño RAM Tamaño de intercambio (sin hibernación) Tamaño de intercambio (con hibernación)
256MB 256MB 512MB
512MB 512MB 1GB
1GB 1GB 2GB
2GB 1GB 3GB
3GB 2GB 5GB
4GB 2GB 6GB
6GB 2GB 8GB
8GB 3GB 11GB
12GB 3GB 15GB
16GB 4GB 20GB
24GB 5GB 29GB
32GB 6GB 38GB
64GB 8GB 72GB
128GB 11GB 139GB

¿Qué tamaño de swap utilizas?

La respuesta nunca es sencilla. Como he dicho antes, durante mucho tiempo se ha recomendado que el tamaño de la swap sea el doble que el de la RAM. De hecho, mi Dell XPS 13 edición Ubuntu tiene 16GB de tamaño de swap para un 8GB de RAM. Así que incluso Dell decidió seguir la regla de oro de swap=2xRAM.

¿Qué tamaño de swap prefieres para tu sistema Linux?

About the author
Marco Carmona

Marco Carmona

My name is Marco Antonio Carmona, I'm a physics and data science student, a great and passionate reader, and randomly, my favorite hobby is writing about what I learn day by day.

It's FOSS

Making You a Better Linux User

It's FOSS

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.