トップページ | 過去記事(月別カテゴリー別) | 掲示板 | 野良DEB,RPM | 更新チェック | Twitter
<<  2012.3  >>
SMTWTFS
    123
45678910
11121314151617
18192021222324
25262728293031
 
リンク
その他
  • RSS2.0
  • Credit

  • SEO
    loading

    プライバシーポリシー
    Google

カテゴリー » Linux March 01, 2012

zram - 圧縮RAMディスク・圧縮メモリ Linux

メインメモリの中に高速な圧縮領域を作るzram(旧名:compcache)を試してみました。実行したOS環境はUbuntu 11.10です。なぜかFedoraは機能が無効化されているんだよね。RHEL6(CentOS6)が対応しているのに??

使用例を書くと
$ sudo -i
# modprobe zram
# echo $((500*1024*1024)) > /sys/block/zram0/disksize
# mkfs.ext2 -m 0 /dev/zram0
# mkdir /tmp/zram
# mount -t ext2 /dev/zram0 /tmp/zram
これで500MBのRAMディスクが出来上がって、/tmp/zram にマウントされます(再起動したら消える)
zramをスワップ領域にすることもできます。そうすると圧縮付きでスワップされるので、その結果、利用可能なメモリ量が増えるわけです。ディスクの時よりもCPU負荷が高いでしょうが、ディスクI/Oの待ち時間に比べたら全然大したことじゃない。
Ubuntuの場合、zramswap-enabler をインストールすれば自動で設定してくれます。
上で作ったRAMディスクを消しておく(何もしていなければ不要)
$ sudo umount /dev/zram0
$ sudo sh -c "echo 1 > /sys/block/zram0/reset"

$ sudo add-apt-repository ppa:shnatsel/zram
$ sudo apt-get update
$ sudo apt-get install zramswap-enabler
インストールしたら /proc/swaps を見て状態を確認。
$ cat /proc/swaps
Filename   Type      Size    Used Priority
/dev/zram0 partition 1544868 0    100
/dev/zram1 partition 1544868 0    100
CPUのコアと同じ個数の /dev/zram が作られて、スワップパーティションとして認識されました。zramの総量がメインメモリと同じ大きさなんだけど…こんな目一杯にしていいの?

少し前の記事になりますが、Viva! Ubuntu!!さんの体験レポートが興味深い。メモリの少ないネットブックやAndroid携帯で使うと効果的ですね。

≪追記≫
Ubuntu 12.04以降は、公式リポジトリにzram-configという名前の設定パッケージがあります。
10:16PM | コメントする |

上の記事に対するコメント

1. NONAME  March 3, 2012 @ 12:37am
>500MBのRAMディスクが出来上がって
作った瞬間に普通のメモリが500MB減るわけではないですよね?

2. Owner CommentSawa  March 3, 2012 @ 01:47am
確認してみました。

まず、zramの割り当て量を /sys/block/zram0/disksize で設定するだけでは
メモリは変化しません。

★その時のメモリ状況
$ free -m
total used free shared buffers cached
Mem: 3017 1665 1352 0 37 484
-/+ buffers/cache: 1143 1874
Swap: 0 0 0

★100MBのファイルを入れてみる
$ dd if=/dev/urandom of=/tmp/zram/TEST bs=100k count=1024
$ sync
$ free -m
total used free shared buffers cached
Mem: 3017 1861 1156 0 37 584
-/+ buffers/cache: 1238 1778
Swap: 0 0 0

100MBのファイルを書き込むと、すぐさま空きメモリが100MB弱減りました。
メモリの消費は実際に使用している分だけのようです。
ファイルを削除しても元に戻りませんが…気にしなくてもOSがよろしくやってくれると思います。

今回は/dev/urandomのファイル(圧縮しても全然縮まらない)で変化を見ましたけど、
普通のファイルなら圧縮されて消費量がもっと少なくなるはず。

間違ってたらゴメンナサイ(^^;

コメントをどうぞ。名前とURLはオプションです。

Comment Form
NAME:
URL:
文字色:  

累計:370324、今日:1757、昨日:3649
Created in 0.0145 sec.
出会い