Naresh Kamboju | f21fb79 | 2015-08-18 12:31:59 +0530 | [diff] [blame] | 1 | zram: Compressed RAM based block devices |
| 2 | ---------------------------------------- |
| 3 | * Introduction |
| 4 | |
| 5 | The zram module creates RAM based block devices named /dev/zram<id> |
| 6 | (<id> = 0, 1, ...). Pages written to these disks are compressed and stored |
| 7 | in memory itself. These disks allow very fast I/O and compression provides |
| 8 | good amounts of memory savings. Some of the usecases include /tmp storage, |
| 9 | use as swap disks, various caches under /var and maybe many more :) |
| 10 | |
| 11 | Statistics for individual zram devices are exported through sysfs nodes at |
| 12 | /sys/block/zram<id>/ |
| 13 | |
| 14 | Kconfig required: |
| 15 | CONFIG_ZRAM=y |
| 16 | CONFIG_ZRAM_LZ4_COMPRESS=y |
| 17 | CONFIG_ZPOOL=y |
| 18 | CONFIG_ZSMALLOC=y |
| 19 | |
| 20 | ZRAM Testcases |
| 21 | -------------- |
| 22 | zram_lib.sh: create library with initialization/cleanup functions |
| 23 | zram.sh: For sanity check of CONFIG_ZRAM and to run zram01 and zram02 |
| 24 | |
| 25 | Two functional tests: zram01 and zram02: |
| 26 | zram01.sh: creates general purpose ram disks with ext4 filesystems |
| 27 | zram02.sh: creates block device for swap |
| 28 | |
| 29 | Commands required for testing: |
| 30 | - bc |
| 31 | - dd |
| 32 | - free |
| 33 | - awk |
| 34 | - mkswap |
| 35 | - swapon |
| 36 | - swapoff |
| 37 | - mkfs/ mkfs.ext4 |
| 38 | |
| 39 | For more information please refer: |
| 40 | kernel-source-tree/Documentation/blockdev/zram.txt |