| 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 |