Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 205624
b: refs/heads/master
c: 00ac9ba
h: refs/heads/master
v: v3
  • Loading branch information
Nitin Gupta authored and Greg Kroah-Hartman committed Jun 18, 2010
1 parent 842e087 commit f487c5f
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 21 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f1e3cfff4d58767a76fe71e18bffdeed10318b4e
refs/heads/master: 00ac9ba01d1868de1fc4645d952381966afa3ec2
51 changes: 31 additions & 20 deletions trunk/drivers/staging/zram/zram.txt
Original file line number Diff line number Diff line change
@@ -1,46 +1,57 @@
ramzswap: Compressed RAM based swap device
-------------------------------------------
zram: Compressed RAM based block devices
----------------------------------------

Project home: http://compcache.googlecode.com/

* Introduction

The ramzswap module creates RAM based block devices which can (only) be used as
swap disks. Pages swapped to these devices are compressed and stored in memory
itself. See project home for use cases, performance numbers and a lot more.
The zram module creates RAM based block devices: /dev/ramX (X = 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.

Individual ramzswap devices are configured and initialized using rzscontrol
userspace utility as shown in examples below. See rzscontrol man page for more
details.
See project home for use cases, performance numbers and a lot more.

Individual zram devices are configured and initialized using zramconfig
userspace utility as shown in examples below. See zramconfig man page for
more details.

* Usage

Following shows a typical sequence of steps for using ramzswap.
Following shows a typical sequence of steps for using zram.

1) Load Modules:
modprobe ramzswap num_devices=4
This creates 4 (uninitialized) devices: /dev/ramzswap{0,1,2,3}
modprobe zram num_devices=4
This creates 4 (uninitialized) devices: /dev/zram{0,1,2,3}
(num_devices parameter is optional. Default: 1)

2) Initialize:
Use rzscontrol utility to configure and initialize individual
ramzswap devices. Example:
rzscontrol /dev/ramzswap2 --init # uses default value of disksize_kb
Use zramconfig utility to configure and initialize individual
zram devices. For example:
zramconfig /dev/zram0 --init # uses default value of disksize_kb
zramconfig /dev/zram1 --disksize_kb=102400 # 100MB /dev/zram1

*See rzscontrol man page for more details and examples*
*See zramconfig man page for more details and examples*

3) Activate:
swapon /dev/ramzswap2 # or any other initialized ramzswap device
mkswap /dev/zram0
swapon /dev/zram0

mkfs.ext4 /dev/zram1
mount /dev/zram1 /tmp

4) Stats:
rzscontrol /dev/ramzswap2 --stats
zramconfig /dev/zram0 --stats
zramconfig /dev/zram1 --stats

5) Deactivate:
swapoff /dev/ramzswap2
swapoff /dev/zram0
umount /dev/zram1

6) Reset:
rzscontrol /dev/ramzswap2 --reset
(This frees all the memory allocated for this device).
zramconfig /dev/zram0 --reset
zramconfig /dev/zram1 --reset
(This frees memory allocated for the given device).


Please report any problems at:
Expand Down

0 comments on commit f487c5f

Please sign in to comment.