lunes, 16 de agosto de 2010

Configuración swap priority

En Linux podemos configurar más de 1 espacio de memoria de intercambio repartido en diferentes discos físicos. Para ello necesitamos tener las particiones de tipo swap, formateadas con fdisk (Id=82) o mkswap, por ejemplo.

En este caso, tenemos 2 particiones swap de diferente tamaño, en 2 discos distintos:

#swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 1052248 0 43
/dev/sdb2 partition 1052248 0 42


Asignando diferente prioridad a cada espacio swap, conseguimos que primero se utilice la de mayor prioridad y una vez esté el espacio llene, se coja espacio de la siguiente de menor prioridad.
En el caso de tener particiones de diferentes tamaños, lo lógico será asignar mayor prioridad a las de mayor tamaño.


Swap Stripping
Asignando la misma prioridad a distintas particiones swap conseguiremos hacer stripping entre estas particiones. El sistema utilizará el espacio swap de las particiones que tengan la misma prioridad como si fuera una única partición.
Este método tiene menos tolerancia a fallos que el anterior: si falla una de las particiones swap el sistema se queda sin swap, y puede llegar a colgarse.
A su favor tiene que se consiguen mejores ratios de I/O, al poder escribir por 2 canales distintos a la vez.

Ambos métodos se pueden configurar desde /etc/fstab:

/dev/sda2 swap swap pri=43 0 0
/dev/sdb2 swap swap pri=42 0 0


O también en caliente:

#swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 1052248 0 43

#swapon -p 42 /dev/sdb2
#swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 1052248 0 43
/dev/sdb2 partition 1052248 0 42

#free -g
total used free
Swap: 2 0 2

No hay comentarios: