Como administrar el tamaño de la memoria swap en sistemas GNU/Linux?
Creo que esta es una de las dudas que la mayoria de los administradores tienen al momento de elegir el tamaño de la memoria swap.
Aqui colocare una pequeña guia de como poder administrar dicho espacio de intercambio la cual pueden utilizar como criterio necesario al momento de crear la particion swap.
En informática, el espacio de intercambio es una zona del disco (un fichero o partición) que se usa para guardar las imágenes de los procesos que no han de mantenerse en memoria física. A este espacio se le suele llamar swap, del inglés "intercambiar".
ahora bien con el cambio aplicado en Linux 2.6.31, se mejora la estrategia para decidir qué páginas deben sacarse de RAM cuando hay poca memoria disponible, de tal forma de dejar en memoria física aquellas que se usen intensivamente, eliminando la necesidad de usar el disco.
En el esquema tradicional, la memoria usada por el código se considera como equivalente a la usada por los datos a la hora de copiarlas al disco cuando la memoria es insuficiente. Esto provoca que las aplicaciones detengan temporalmente su ejecución cuando el código que necesitan se encuentra en disco.
Muchos de nosotros hasta hace poco tiempo particionabamos la memoria swap con una formula no standar pero que nos funciona muy bien, ahora cual esta formula?
De acuerdo con OpenBSD FAQ:
Muchas personas siguen una vieja regla de que la partición de intercambio debe ser de dos veces el tamaño de su principal sistema de RAM. Esta regla es una tontería. En un sistema moderno, es una gran cantidad de swap, la mayoría de las personas prefieren que sus sistemas no utilizen el espacio de intercambio nunca. Usted no quiere que su sistema nunca se agote la RAM + swap, pero por lo general prefieren tener suficiente memoria RAM en el sistema por lo que no tiene necesidad de swap.
Que significa esto?
- En pocas palabras si tenemos 2 GB de RAM tendríamos que crear 4 GB para la memoria swap.
- Si tenemos 64 Gb de RAM teníamos que crear 128 GB para la memoria swap o de intercambio .
Esta formula de utilizar el doble de la memoria RAM para crear la partición swap fue utilizada durante mucho tiempo, pero ahora con las nuevas versiones de núcleo el cual optimiza y mejora el rendimiento de nuestro sistema operativo ya no es necesario utilizar y desperdiciar esa cantidad de espacio en disco.
RedHat nos recomienda lo siguiente:
La memoria swap debe de ser igual a 2x de la memoria RAM física, y adicionalmente 1x de la memoria RAM cuando esta sea mayor a 2GB
Entonces si:
M = RAM en GB, S = swap en GB, entonces
si M < 2
S = M *2
entonces
S = M + 2
- Sistemas con 4GB de RAM o menos requieren un mínimo de 2 GB de espacio de intercambio (swap).
- Sistemas con 4GB a 16GB de RAM, requieren como mínimo, 4GB de espacio de intercambio.
- Sistemas con 16GB a 64GB de RAM requieren un mínimo de 8 GB de espacio de intercambio.
- Sistemas con 64GB a 256GB de memoria RAM requieren un mínimo de 16 GB de espacio de intercambio.
Para averiguar la utilización del espacio de intercambio podemos ejecutar alguno de los siguientes comandos:
- cat /proc/swaps
- swapon -s
- free -m
- top
invitrum@maguie:~$ top
top - 13:44:16 up 1 day, 2:29, 3 users, load average: 0.13, 0.18, 0.22
Tasks: 135 total, 2 running, 132 sleeping, 0 stopped, 1 zombie
Cpu(s): 0.2%us, 0.0%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4075368k total, 2343688k used, 731680k free, 285476k buffers
Swap: 3947916k total, 0k used, 2947916k free, 579408k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10260 invitrum 20 0 205m 75m 26m S 1 3.7 0:10.24 firefox-bin
3730 root 20 0 131m 67m 8292 S 0 3.3 47:00.66 Xorg
1 root 20 0 2088 712 612 S 0 0.0 0:01.32 init
2 root 15 -5 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/0
4 root 15 -5 0 0 0 S 0 0.0 0:01.58 ksoftirqd/0
5 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/0
6 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/1
7 root 15 -5 0 0 0 S 0 0.0 0:03.08 ksoftirqd/1
8 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/1
9 root 15 -5 0 0 0 S 0 0.0 0:02.02 events/0
10 root 15 -5 0 0 0 S 0 0.0 0:02.54 events/1
11 root 15 -5 0 0 0 S 0 0.0 0:00.00 khelper
44 root 15 -5 0 0 0 S 0 0.0 0:00.06 kblockd/0
45 root 15 -5 0 0 0 S 0 0.0 0:00.10 kblockd/1
47 root 15 -5 0 0 0 S 0 0.0 0:00.00 kacpid
48 root 15 -5 0 0 0 S 0 0.0 0:00.00 kacpi_notify - Inicie sesión o regístrese para enviar comentarios

Comentarios recientes
hace 1 semana 3 días
hace 2 semanas 5 días
hace 3 semanas 1 día
hace 3 semanas 1 día
hace 3 semanas 2 días
hace 3 semanas 4 días
hace 3 semanas 4 días
hace 3 semanas 5 días
hace 3 semanas 6 días
hace 4 semanas 2 días