systemadmin.es > Kernel > zram – Disco comprimido en ram

zram – Disco comprimido en ram

A partir de CentOS 6.2 tenemos disponible el modulo zram. Éste permite crear un disco comprimido en la RAM, por lo que ocuparemos menos espacio del que pidamos, dependiendo del ratio de compresión de los datos.

Mediante modinfo podemos ver los detalles del modulo, con el parámetro num_devices indicamos el número de dispositivos a crear:

# modinfo zram
filename:       /lib/modules/2.6.32-71.29.1.el6.x86_64/kernel/drivers/staging/zram/zram.ko
description:    Compressed RAM Block Device
author:         Nitin Gupta <ngupta@vflare.org>
license:        Dual BSD/GPL
srcversion:     ADE593F357A9E59B3F9A10C
depends:        lzo_compress,lzo_decompress
staging:        Y
vermagic:       2.6.32-71.29.1.el6.x86_64 SMP mod_unload modversions 
parm:           num_devices:Number of zram devices (uint)

Cargamos el modulo con un único dispositivo:

# modprobe zram num_devices=1

En el dmesg veremos un warning porque no se considera estable aún:

zram: module is from the staging directory, the quality is unknown, you have been warned.

Mediante el fichero /sys/block/zram0/disksize podemos ver el tamaño sin comprimir del disco:

# cat /sys/block/zram0/disksize 
0

Lo podemos inicializar mediante un echo, por ejemplo a 10M:

# echo $((10*1024*1024)) > /sys/block/zram0/disksize 
# cat /sys/block/zram0/disksize
10485760

A continuación podemos crear un sistema de ficheros y montarlo:

# mkfs.ext4 /dev/zram0 
# mount /dev/zram0 /mnt/

Si creamos un fichero de una mega de ejemplo:

# perl -e 'print "a"x1048576' > /mnt/test

Mediante el fichero /sys/block/zram0/mem_used_total, podremos ver que usa mucha menos RAM de la que vemos una vez descomprimida en el sistema de ficheros:

# cat /sys/block/zram0/mem_used_total 
12288

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>