「ZRAM」の版間の差分
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) (→主な使い方) |
||
(同じ利用者による、間の4版が非表示) | |||
3行目: | 3行目: | ||
== 主な用途 == | == 主な用途 == | ||
=== 高速化 === | === 高速化 === | ||
− | + | 「[[CPU]]の負荷は低く」「メモリ負荷は高い」環境において、[[データ]]を圧縮転送することでメモリのバス帯域を節約でき、結果として高速化が期待できる。この発想自体は[[PS5]]の[[ストレージ]]が採用した「[[Kraken]]」と同様のものである。 | |
− | + | なお、「[[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に退避させる[[スワップメモリ]]」を採用しているものが多い。 | ||
なお、zRAMの割当容量([[メインメモリ]]とzRAMの比率)は前述のようにメーカーに依存する。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 |
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