77 lines
1.9 KiB
Plaintext
77 lines
1.9 KiB
Plaintext
zram: Compressed RAM based block devices
|
|
----------------------------------------
|
|
|
|
Project home: http://compcache.googlecode.com/
|
|
|
|
* 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>/
|
|
|
|
* Usage
|
|
|
|
Following shows a typical sequence of steps for using zram.
|
|
|
|
1) Load Module:
|
|
modprobe zram num_devices=4
|
|
This creates 4 devices: /dev/zram{0,1,2,3}
|
|
(num_devices parameter is optional. Default: 1)
|
|
|
|
2) Set Disksize (Optional):
|
|
Set disk size by writing the value to sysfs node 'disksize'
|
|
(in bytes). If disksize is not given, default value of 25%
|
|
of RAM is used.
|
|
|
|
# Initialize /dev/zram0 with 50MB disksize
|
|
echo $((50*1024*1024)) > /sys/block/zram0/disksize
|
|
|
|
NOTE: disksize cannot be changed if the disk contains any
|
|
data. So, for such a disk, you need to issue 'reset' (see below)
|
|
before you can change its disksize.
|
|
|
|
3) Activate:
|
|
mkswap /dev/zram0
|
|
swapon /dev/zram0
|
|
|
|
mkfs.ext4 /dev/zram1
|
|
mount /dev/zram1 /tmp
|
|
|
|
4) Stats:
|
|
Per-device statistics are exported as various nodes under
|
|
/sys/block/zram<id>/
|
|
disksize
|
|
num_reads
|
|
num_writes
|
|
invalid_io
|
|
notify_free
|
|
discard
|
|
zero_pages
|
|
orig_data_size
|
|
compr_data_size
|
|
mem_used_total
|
|
|
|
5) Deactivate:
|
|
swapoff /dev/zram0
|
|
umount /dev/zram1
|
|
|
|
6) Reset:
|
|
Write any positive value to 'reset' sysfs node
|
|
echo 1 > /sys/block/zram0/reset
|
|
echo 1 > /sys/block/zram1/reset
|
|
|
|
(This frees all the memory allocated for the given device).
|
|
|
|
|
|
Please report any problems at:
|
|
- Mailing list: linux-mm-cc at laptop dot org
|
|
- Issue tracker: http://code.google.com/p/compcache/issues/list
|
|
|
|
Nitin Gupta
|
|
ngupta@vflare.org
|