LoginSignup
4
5

More than 5 years have passed since last update.

centos7でメモリ圧縮機能(zram)が使いたい場合

Last updated at Posted at 2016-02-08

centos7でzramが使いたい場合

  • zswapというのが標準搭載されているのでそちらを使ったほうがいい
  • この記事ではzswapの設定方法を記載する
  • githubにそれっぽいのがあるが使えるかわからない→github

カーネル設定

1.設定の追加

/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"

2.設定を反映して再起動

# grub2-mkconfig -o /boot/grub2/grub.cfg
# reboot

確認

起動ログに以下のようにzswapが有効になったというログが出ていればok

$ dmesg|grep zswap
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.10.0-327.4.5.el7.x86_64 root=UUID=dd8f0afe-5a00-40ff-b538-5fa0a351cdba ro crashkernel=auto console=tty0 console=ttyS0,115200 zswap.enabled=1
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.10.0-327.4.5.el7.x86_64 root=UUID=dd8f0afe-5a00-40ff-b538-5fa0a351cdba ro crashkernel=auto console=tty0 console=ttyS0,115200 zswap.enabled=1
[    1.562101] zswap: loading zswap
[    1.571151] zswap: using zbud pool
[    1.573786] zswap: using lzo compressor

チューニング

容量

容量は最初からフルで確保されるわけではない。最大の割合を指定する
デフォルトは20

/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1 zswap.max_pool_percent=20"

圧縮方式

以下の方式から選べる
デフォルトはlzo

  • lzo
  • lz4
  • deflate

lz4は別途カーネルモジュールを入れる必要がある
カーネル再コンパイル無しで入ってくれるかどうかまだ調べていない
カーネルモジュールが存在しない場合はlzoにフォールバックされる

/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1 zswap.compressor=lzo"

参考にしたページ

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5