| zram: Compressed RAM based block devices |
| ---------------------------------------- |
| * Introduction |
| |
| The zram module creates RAM based block devices named /dev/zram<id> |
| (<id> = 0, 1, ...). Pages written to these disks are compressed and stored |
| in memory itself. These disks allow very fast I/O and compression provides |
| good amounts of memory savings. Some of the usecases include /tmp storage, |
| use as swap disks, various caches under /var and maybe many more :) |
| |
| Statistics for individual zram devices are exported through sysfs nodes at |
| /sys/block/zram<id>/ |
| |
| Kconfig required: |
| CONFIG_ZRAM=y |
| CONFIG_CRYPTO_LZ4=y |
| CONFIG_ZPOOL=y |
| CONFIG_ZSMALLOC=y |
| |
| ZRAM Testcases |
| -------------- |
| zram_lib.sh: create library with initialization/cleanup functions |
| zram.sh: For sanity check of CONFIG_ZRAM and to run zram01 and zram02 |
| |
| Two functional tests: zram01 and zram02: |
| zram01.sh: creates general purpose ram disks with ext4 filesystems |
| zram02.sh: creates block device for swap |
| |
| Commands required for testing: |
| - bc |
| - dd |
| - free |
| - awk |
| - mkswap |
| - swapon |
| - swapoff |
| - mkfs/ mkfs.ext4 |
| |
| For more information please refer: |
| kernel-source-tree/Documentation/blockdev/zram.txt |