「ZRAM」の版間の差分
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) |
||
11行目: | 11行目: | ||
「[[CPU]]がしょぼい」「[[メモリ]]負荷も低い」という状況でも、この「大容量」という恩恵だけは受けることができる。 | 「[[CPU]]がしょぼい」「[[メモリ]]負荷も低い」という状況でも、この「大容量」という恩恵だけは受けることができる。 | ||
− | ==Linux== | + | == 対応状況 == |
+ | ===Linux=== | ||
[[Linux]]では、2014年3月30日にリリースされたLinuxカーネル 3.14から採用されている。 | [[Linux]]では、2014年3月30日にリリースされたLinuxカーネル 3.14から採用されている。 | ||
− | ==AndroidおよびChrome OS== | + | ===AndroidおよびChrome OS=== |
[[Android]] (4.4以降)や[[Chrome OS]] (全バージョン)でもzRAMを利用できる。 | [[Android]] (4.4以降)や[[Chrome OS]] (全バージョン)でもzRAMを利用できる。 | ||
ただしzRAM関連の設定は[[スマホ]]や[[タブレット]]の製造メーカーしか設定できないのが一般的である。なお、[[root]]を取れば細かく設定できる。 | ただしzRAM関連の設定は[[スマホ]]や[[タブレット]]の製造メーカーしか設定できないのが一般的である。なお、[[root]]を取れば細かく設定できる。 | ||
− | + | * https://play.google.com/store/apps/details?id=com.franco.kernel&hl=ja | |
− | * | ||
[[スマホ]]や[[タブレット]]では[[フラッシュメモリ]](主に安物の[[eMMC]])の耐久性の問題から[[パソコン]]で一般的な「[[ストレージ]]に退避する[[スワップメモリ]]」が無効化されており、その代わりに「zRAMに退避させる[[スワップメモリ]]」を採用しているものが多い。 | [[スマホ]]や[[タブレット]]では[[フラッシュメモリ]](主に安物の[[eMMC]])の耐久性の問題から[[パソコン]]で一般的な「[[ストレージ]]に退避する[[スワップメモリ]]」が無効化されており、その代わりに「zRAMに退避させる[[スワップメモリ]]」を採用しているものが多い。 |
2022年5月26日 (木) 04:34時点における版
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