El post que buscas se encuentra eliminado, pero este también te puede interesar

Todo sobre el espacio SWAP en Linux

Anuncios

Fuente:

http://comulinux.blogspot.com.ar/2007/12/todo-sobre-el-espacio-swap-en-linux.html

Cuando tu computadora necesita correr aplicaciones que son mas pesados que tu capacidad de memoria física instalada, los sistemas operativos mas modernos usan una tecnología llamada swapping, en la cual trozos de memoria son temporalmente almacenados en el disco duro mientras que la otra data es movida hacia el espacio de la memoria física Aquí hay algunas técnicas que te pueden ayudar a administrar mejor el swapping en los sistemas Linux y obtener el mejor performance del subsistema swapping de Linux.

Linux divide su memoria RAM en trozos de memoria llamados pages (paginas). Swapping es el proceso en el cual un page de memoria es copiado en el espacio del disco duro preconfigurado, llamado espacio o partición swap, para liberar ese page de memoria. El tamaño combinado de la memoria RAM y la partición swap es la cantidad memoria virtual disponible.

Swapping es necesario por dos importantes razones. Primero, cuando el sistema necesita mas memoria que la RAM es disponible, el kernel intercambia las pages usadas y proporciona mas memoria a la aplicación (proceso) que lo necesita inmediatamente. Segundo, un significante números de pages usadas por una aplicación durante su fase de inicio puede ser solo usada para la inicialización y luego no usada otra vez. El sistema puede intercambiar aquellas pages y liberar la memoria para otra aplicación o incluso para la cache de disco.

Como sea, swapping tiene una desventaja. Comparado a la memoria, el disco es muy lento. La velocidad de la memoria puede ser medida en nanosegundos, mientras que la del disco es medida en milisegundos, por eso acceder al disco puede ser diez veces mas lento que acceder a la memoria física.

Linux tiene dos formas de intercambiar (swap) espacio:
La partición swap y el archivo swap. La partición swap es una sección independiente del disco duro usada únicamente para intercambio. ningún otro archivo puede residir ahí El archivo swap es un archivo especial en el fichero del sistema (filesystems) que reside entre tu sistema y los archivos de datos.
Para ver cuanto espacio de intercambio tienes, usa el comando

swapon -s

La salida deberá ser algo así:

Filename Type Size Used Priority
/dev/sda4 partition 1405676 35948 -1


Cada linea lista un espacio swap diferente que esta siendo usado por el sistema. Aquí el campo Tipo (Type) indica que este espacio swap es una partición en vez de un archivo y el campo Filename muestra que esta en el disco sda4. El tamaño (Size) esta mostrado en kilobytes, y el campo Used muestra cuantos kilobytes de espacio swap esta siendo usado. El campo Priority le indica a Linux cual es el espacio que debe ser usado primero. Una de las grandes ventajas del swapping en subsistemas Linux es que si montas dos o mas espacios swap (de preferencia en dos dispositivos diferentes) con la misma prioridad, Linux intercalara su actividad de swapping entre ellos, lo cual puede incrementar la performance del swap.

Para agregar una partición swap extra en tu sistema, primero necesitas prepararlo. Paso uno aseguraste de tener una partición marcada como swap y paso dos es hacer el sistema de archivos swap. Para revisar que la partición este marcada para swap, ejecuta esto como swap:

fdisk -l /dev/hdb

Reemplaza /dev/hdb con el dispositivo del disco duro en tu sistema con la partición swap. Deberías ver algo así:

Device Boot    Start   End     Blocks  Id      System 
/dev/hdb1       2328    2434    859446  82      Linux swap / Solaris


Si la partición no esta marcada como swap necesitaras cambiarla usando el comando fdisk y la opción de menú 't'. Mucho cuidado cuando se trabaja con particiones ya que podríamos borrar por error alguna partición donde se encuentren nuestros datos tan preciados. Otra aclaración es que Solaris usa el mismo ID que Linux para sus particiones swap, así que cuidado de no borrar la partición Solaris por error.

Una vez que la partición es marcada como swap, necesitas prepararla usando el comando mkswap como root:

mkswap /dev/hdb1

Si no ves ningún error, tu espacio swap esta listo para usar. Para activarla, escribe esto:

swapon /dev/hdb1

Puede verificar si esta siendo usada ejecutando swapon -s. Para montar el espacio swap al momento de iniciar el sistema, debes agregar una linea al archivo /etc/fstab, el cual contiene la lista de los sistemas de archivos y espacio swap que se montaran al momento de iniciar el sistema. El formato para cada linea es:

Como el espacio swap es un tipo de archivo especial, varios de estos parámetros no son aplicables. Para el espacio swap agrega esto:

/dev/hdb1 none swap sw 0 0

Donde /dev/hdb1 es la partición swap. No tiene un punto de montaje especificado, por lo tanto es none. Es del tipo swap con opciones sw, los últimos dos parámetros no se usan por eso se ingresa 0.

Para verificar que tu partición swap ha sido montada sin necesidad de reiniciar tu PC, puedes ejecutar el comando:

swapoff -a

( el cual apaga todos los espacios swap)

y luego ejecutar:

swapon -a (el cual monta todos los espacios swap listados en el archivo /etc/fstab)

y luego revisar con el comando:

swapon -s

Archivo Swap

Así como la partición swap, Linux también soporta el archivo swap el cual tu puedes crear, preparar y montar de la misma forma como se hace con una partición swap. La ventaja del archivo swap es que no necesitas buscar por una partición vacía o reparticionar el disco para adicionar el espacio swap.

Para crear un archivo swap, usa el comando dd para crear un archivo vacío Para crear un archivo de 1Gb, escribe lo siguiente:

dd if=/dev/zero of=/swapfile bs=1024 count=1048576

/swapfile es el nombre del archivo swap, y count=1048576 es el tamaño en kilobytes.

Prepara el archivo swap usando mkswap como si fuera una partición, pero esta vez usa el nombre del archivo swap:

mkswap /swapfile

E igualmente montarlo usando el comando swapon:

swapon /swapfile.

El archivo /etc/fstab debería verse algo así:

/swapfile none swap sw 0 0

¿Que tan grande debe ser el espacio swap?

Es posible ejecutar un sistema Linux sin espacio swap, y correrá muy bien si es que tienes bastante memoria RAM, pero si no tienes mucha RAM el sistema se te colgara, por eso es recomendable tener espacio swap, especialmente desde que el espacio en disco se volvió relativamente barato.
Ahora la cuestión cuanto. Las versiones antiguas de Unix (como SUN OS y Ultrix) demandaban un espacio swap de 2 o 3 veces el tamaño de la RAM. Las implementaciones modernas (como Linux) no requieren de tanto, pero la pueden usar si es que esta configurado. Una regla que se puede seguir es la siguiente:

Para un sistema de escritorio, usa un espacio de swap del doble de tu RAM.

Para servidores se puede tener la mitad de la RAM, teniendo la posibilidad de aumentar el tamaño swap según se necesite. Siempre revisando la performance del sistema.

Para computadoras viejas que las usaremos como escritorio y que tengan menos de 128 de RAM, usa todo lo posible, si puedes hasta 1Gb o mas.

EL kernel 2,6 de Linux agrego un nuevo parámetro para el kernel llamado swappiness, que permite a los administradores pellizcar la forma que Linux usa el espacio swap. Estos son números del 0 al 100. En esencia, valores altos para manejar mas pages que están siendo intercambiadas y valores bajos para mas aplicaciones mantenidas en la memoria, aun si están ocupadas.

El mantenedor del Kernel, Andrew Morton, ha dicho que correr maquinas de escritorios con swappiness de 100 no es tan necesario, es mejor liberar espacio en el disco para algo mas útil.

Por eso si deseas cambiar temporalmente el valor de swappiness, el cual es 60 por defecto puedes usar este comando:

echo 50 > /proc/sys/vm/swappiness

Si deseas cambiarlo permanentemente, cambia el parámetro vm.swappines del archivo

/etc/sysctl.conf

Conclusión

Manejar el espacio swap es esencialmente una tarea del administrador. Con un buen planeamiento y uso apropiado del espacio swap puedes tener beneficios. No tengas miedo de experimentar, siempre monitorea tu sistema para asegurarte de que tienes los resultados que deseas.

Todo sobre el espacio SWAP en Linux

Gracias, @Mauro35FVarela en alguno de mis post, subo las imagenes que compartis..

15 comentarios - Todo sobre el espacio SWAP en Linux

@ekardian
todos los demonios y programas tienen nombres subliminales, recuerdo a apropos lilo ipchains mountall grotty do mencoder plymouth killall aptitude echo .. y la lista es larga y la última mate
@vidal2011
Yo creo que lo llevo haciendo mal el ultimo formateo que hice hace 1 año, si es asi decirmelo y lo arreglo.

EL problema pasa que como habian dicho que el SWAP, fuera el doble de la RAM.

Tengo 2 GB de RAM, inocente de mi le ponia 4 GB de swap.

lo bueno es que tengo un buen Disco Duro y no se nota.
@Kik1n +3
Y yo sin swap. Bueno con 8 gbs en ram no creo que me hace falta.
@Sacadodelamorgue
@AleQwerty ¿Cuál es la relación entre hibernar/suspender y la espacio de intercambio?
@AleQwerty +1
@Sacadodelamorgue

El sistema usa la swap para almacenar el contenido de memoria y luego reiniciar desde allí. Y si lo que estabas haciendo al momento de hibernar consumía mucha ram, necesita esa misma swap...
@Sacadodelamorgue +1
@AleQwerty Muchas gracias por el dato man
Siempre pongo la pc en suspensión para ahorrar energía cuando cargo mi cel
@1985a +1
Buena info amigo.

Por ahora, estoy usando un archivo de 1GiB, por si acaso las moscas, y eso que tengo 8GiB de ram, pero siempre hace falta un poco de memoria swap, como ya lo he comprobado./
@martin_001_ +1
es un articulo interesante para tenerlo a mano
@osvaldo_crack +2
Hahahahaha, cuando puse atención y me di cuente que estaba pasando
archivo
@Georgeivan
En aplicaciones demandantes como Maya o Houdini cuanto se recomienda,el Houdini en Linux se me colgo,en Windows tiraba un poco mas en escenas complicadas usando el swap a morir
@gamborimbo +1
en una pc tenia win7 y decidi instalar linux pero no cree la swap (error de novato), como note lento el sistema decidi crear una swap de 2 gigas formateada como swap, pero no la detecta linux, voy a tratar de descifrar lo que dice tu post para ver si la activo.
@AleDvorak +2
te lo explico: para que el sistema sepa de la partición swap tienes que decirle en el archivo /etc/fstab que debe montarse la partición. Tendrías que añadir en /etc/fstab algo así

# swap
UUID=5bac01bd-80f2-47a3-91d2-ac3f192fb16c none swap sw 0 0

poniendo la UUID correspondiente a la partición swap (lo puedes ver de gparted)
@gamborimbo +2
@AleDvorak ya probe tu sugerencia y efectivamente esa fue la solucion. gracias
@AlejandroCesarPa +3
al menos es mas eficiente que la memoria de paginado de windows