次のシナリオを想像してください。 2GiBがzramに置き換えられ、1GiBに圧縮されます。
メモリの圧縮が軽減され、2GiBがスワップできなくなった場合、Linuxで圧縮されたzramページを保存するために使用される1GiBページを入手できますか?
では、既存のページの最適化は実行されますか?
圧縮されたページには複数のページが必要です。 1ページだけ残してすべて交換できない場合はどうなりますか?最後のページも解放されるまで、すべてのページがメモリに残りますか?
ベストアンサー1
基本的に「いいえ」と言うでしょうが、そうしても大丈夫です。
$ lsblk --discard /dev/zram0
NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
zram0 0 4K 2T 0
これはzram0
使い捨てデバイスを意味します。
~からman swapon
:
-d
、--discard[=policy]
スワップ廃棄の活性化、スワップ対応デバイスが削除またはクリーンアップ操作をサポートしているかどうか。
[...]
マウント/etc/fstab
オプションdiscard
、discard=once
またはdiscard=pages
を使用して廃棄フラグを有効にすることもできます。
特定のLinuxディストリビューションでコマンドまたはそれに対応するコマンドが実行される場所を特定し、swapon
それに応じて追加します。交換 --discard
オプションまたは山 discard
この場所のオプション(または少なくとも=pages
変形)です。