2020-09-03

Fedora 33 のプレリリース版を試す

10 月末にリリースが予定されている Fedora 33 ですが、いくつか大きな変更が加えられます。まだベータ版のリリースもされていませんが、Fedora 32 をインストールしているテスト機を、33 のプレリリース版にアップグレードして、どんなものか見てみました。

アップグレード

以下の手順で Fedora 32 からアップグレードしました。

  1. sudo dnf update --refresh
  2. sudo dnf install dnf-plugin-system-upgrade
  3. sudo dnf system-upgrade download --releasever=33
  4. sudo dnf system-upgrade reboot

アップグレード後、Fedora 33 のデフォルト背景 (f33-backgrounds-base-33.0.3-1.fc33.noarch) に変更したところ、下記のようになりました。なんだか Fedora らしくない背景ですが、正式リリースでは変更される可能性があります。

Fedora 33 プレリリース版の背景

スワップメモリ

Fedora 33 のリリースで予定されている大きな変更のひとつに、従来、ハードディスクなどのストレージ上に確保していたスワップ領域の代わりに、メモリ (RAM) を使用した zram が、デフォルトスワップとして設定されるようになることがあげられます。これは、アクセス速度の遅いストレージ領域を使わずに、RAM を使ってパフォーマンスを向上させようという目的です。

Fedora プロジェクトの以下のサイトに変更の詳細が説明されています。

上記サイトで説明されている内容のうち、重要な部分の抄訳(意訳)をしました。

zram デバイス(通常は /dev/zram0)で使用されるメモリは事前に割り当てられるものではありません。必要に応じて動的に割り当てられ、解放されます。目一杯 /dev/zram0 の領域が割り当てられる場合、メモリの半分を使用します。/dev/zram0 は他のブロックデバイスと同じように扱うことができ、mkswap でスワップ用にフォーマットすることができます。

システムは、RAM が一杯になるまでは通常通り RAM を使用し、RAM が全て使われれば、従来のスワップ領域と同じように zram へのページングを開始します。データの圧縮をしているため、スワップ領域への退避処理の速度は、通常のメモリへのアクセスに比べ半分程度に落ちますが、ハードディスクのスワップに比べると桁違いに速くなります。

zram は 約 0.1% のオーバーヘッドが生じます。メモリが 1GiB あれば約 1MiB がオーバーヘッドになります。

意図的に重い処理をして、zram の状況を見てみました。

使用した PC は Fedora 32 からアップグレードしたため、ストレージの構成はスワップを含めて変わっていません。

[bitwalk@localhost ~]$ cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Fri May  1 20:44:58 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/fedora_localhost--live-root /                       ext4    defaults        1 1
UUID=b5aa3c77-fae0-45ce-8586-f767c15cde92 /boot                   ext4    defaults        1 2
UUID=0B92-CBA1          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
/dev/mapper/fedora_localhost--live-home /home                   ext4    defaults        1 2
/dev/mapper/fedora_localhost--live-swap none                    swap    defaults        0 0
[bitwalk@localhost ~]$ 

しかし lsblk コマンドでブロックデバイスを確認すると、zram0 があります。

[bitwalk@localhost ~]$ lsblk
NAME                            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
mmcblk1                         179:0    0  57.6G  0 disk 
├─mmcblk1p1                     179:1    0   600M  0 part /boot/efi
├─mmcblk1p2                     179:2    0     1G  0 part /boot
└─mmcblk1p3                     179:3    0    56G  0 part 
  ├─fedora_localhost--live-swap 253:0    0   5.8G  0 lvm  [SWAP]
  ├─fedora_localhost--live-root 253:1    0  93.9G  0 lvm  /
  └─fedora_localhost--live-home 253:2    0  76.6G  0 lvm  /home
mmcblk1boot0                    179:8    0     4M  1 disk 
mmcblk1boot1                    179:16   0     4M  1 disk 
mmcblk3                         179:24   0 120.2G  0 disk 
└─mmcblk3p1                     179:25   0 120.2G  0 part 
  ├─fedora_localhost--live-root 253:1    0  93.9G  0 lvm  /
  └─fedora_localhost--live-home 253:2    0  76.6G  0 lvm  /home
zram0                           252:0    0   2.8G  0 disk [SWAP]
[bitwalk@localhost ~]$ 

free と swapon コマンドでメモリとスワップの使用状況を確認すると下記のようになっています。スワップ領域は /dev/zram0 を使用するように優先度 (PRIO) が設定されています。

[bitwalk@localhost ~]$ free -h
              total        used        free      shared  buff/cache   available
Mem:          5.6Gi       3.7Gi       605Mi       113Mi       1.4Gi       1.6Gi
Swap:         8.6Gi       987Mi       7.6Gi
[bitwalk@localhost ~]$ swapon
NAME       TYPE      SIZE   USED PRIO
/dev/dm-0  partition 5.8G     0B   -2
/dev/zram0 partition 2.8G 987.3M  100
[bitwalk@localhost ~]$ 

zramctl コマンドで、スワップされているデータと圧縮率を確認します。

[bitwalk@localhost ~]$ zramctl
NAME       ALGORITHM DISKSIZE   DATA  COMPR  TOTAL STREAMS MOUNTPOINT
/dev/zram0 lzo-rle       2.8G 986.7M 346.5M 399.3M       4 [SWAP]
[bitwalk@localhost ~]$ 

986.7M のデータが圧縮されて 346.5M になり、実際にスワップ領域として使用しているメモリサイズは 399.3M ということでしょうか。

重い処理をしようといろいろやってみましたが、意外とスワップの使用量が増えませんでした。メモリ上にスワップ領域を確保するということで、RAM をある程度積んでいないと使い物にならなくなるかもと心配していたのですが、自分の使い方だとそんなに心配しなくとも良いのかもしれません。

今回は 6GB の DRAM を搭載しているテスト機を使いましたが、4GB の時はどうか確認してみたくなりました。

Fedora 33 のベータ版がリリースされ、インストールイメージが利用できるようになったら、クリーンインストールして、ワークステーション用に新しくデフォルトのファイルシステムになる btrfs も確認したいところです。

参考サイト

  1. Raspberry Piでメモリを拡張したい時にZramを使う - そうなんでげす [2019-07-01]
  2. zramの状態を確認するコマンド zramctl - 以下省略! [2018-05-31]

ブログランキング・にほんブログ村へ
にほんブログ村

0 件のコメント: