2015-08-18 15:01:59 +08:00
|
|
|
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
|
2016-08-13 04:49:59 +08:00
|
|
|
CONFIG_CRYPTO_LZ4=y
|
2015-08-18 15:01:59 +08:00
|
|
|
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
|