「ZRAM」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
 
29行目: 29行目:
 
  $ modprobe zram num_devices=1
 
  $ modprobe zram num_devices=1
  
zramデバイスにメモリ16GBを割り当てる。
+
zramデバイスに[[メモリ]]16GBを割り当てる。
 
  $ zramctl /dev/zram0 --size 16G
 
  $ zramctl /dev/zram0 --size 16G
  
zramデバイスをフォーマットする。ファイルシステムはext4ではなくxfsなどでもよい。何が良いかは知らん。
+
zramデバイスを[[フォーマット]]する。[[ファイルシステム]]は[[ext4]]ではなく[[xfs]]などでもよい。何が良いかは知らん。
 
  $ mkfs.ext4 /dev/zram0  
 
  $ mkfs.ext4 /dev/zram0  
  
zramデバイスをマウントする。
+
zramデバイスを[[マウント]]する。
 
  mkdir -p /mnt/ramdisk
 
  mkdir -p /mnt/ramdisk
 
  mount /dev/zram0 /mnt/ramdisk/
 
  mount /dev/zram0 /mnt/ramdisk/
  
zramデバイスをアンマウントする。
+
zramデバイスを[[アンマウント]]する。
 
  umount /mnt/ramdisk
 
  umount /mnt/ramdisk
  
 
zramデバイスを開放する。
 
zramデバイスを開放する。
 
  zramctl -r /dev/zram0
 
  zramctl -r /dev/zram0

2022年5月26日 (木) 04:35時点における最新版

zRAM(読み:ぜっとらむ)とは、データを読み書きすると全自動で圧縮伸長が行われるRAMディスクのことである。

主な用途[編集 | ソースを編集]

高速化[編集 | ソースを編集]

CPUの負荷は低く」「メモリ負荷は高い」環境において、データを圧縮転送することでメモリのバス帯域を節約でき、結果として高速化が期待できる。この発想自体はPS5ストレージが採用した「Kraken」と同様のものである。

なお、「CPUがしょぼい」「メモリ負荷も低い」という状況では当然ながら遅くなる。

大容量[編集 | ソースを編集]

圧縮するのでそこそこな量のデータを格納できる。 「CPUがしょぼい」「メモリ負荷も低い」という状況でも、この「大容量」という恩恵だけは受けることができる。

対応状況[編集 | ソースを編集]

Linux[編集 | ソースを編集]

Linuxでは、2014年3月30日にリリースされたLinuxカーネル 3.14から採用されている。

AndroidおよびChrome OS[編集 | ソースを編集]

Android (4.4以降)やChrome OS (全バージョン)でもzRAMを利用できる。

ただしzRAM関連の設定はスマホタブレットの製造メーカーしか設定できないのが一般的である。なお、rootを取れば細かく設定できる。

スマホタブレットではフラッシュメモリ(主に安物のeMMC)の耐久性の問題からパソコンで一般的な「ストレージに退避するスワップメモリ」が無効化されており、その代わりに「zRAMに退避させるスワップメモリ」を採用しているものが多い。

なお、zRAMの割当容量(メインメモリとzRAMの比率)は前述のようにメーカーに依存する。zRAMの割当容量が「ゼロ」となっているスマホも多い。

主な使い方[編集 | ソースを編集]

zramデバイス(/dev/zram{n})を生成する。

$ modprobe zram num_devices=1

zramデバイスにメモリ16GBを割り当てる。

$ zramctl /dev/zram0 --size 16G

zramデバイスをフォーマットする。ファイルシステムext4ではなくxfsなどでもよい。何が良いかは知らん。

$ mkfs.ext4 /dev/zram0 

zramデバイスをマウントする。

mkdir -p /mnt/ramdisk
mount /dev/zram0 /mnt/ramdisk/

zramデバイスをアンマウントする。

umount /mnt/ramdisk

zramデバイスを開放する。

zramctl -r /dev/zram0