2023-04-09

敢えてスワップファイルを利用する 〜 Fedora Linux 〜

Fedora Linux は Red Hat 社が支援するコミュニティ Fedora Project で開発されているディストリビューションで、最新の技術を積極的に取り込むことで知られています。また Fedora Linux の開発成果が、後にリリースされる Red Hat Enterprise Linux, RHEL に取り込まれています。Fedora Linux は、おおむね春と秋の年二回の頻度で新しい版がリリースされています。

いまどきの Fedora Linux は、デフォルトのインストールではストレージ上にスワップパーティションを作成しません。その代わり、メモリ上に zram という領域が作成されて、ここがスワップ領域に使用されます。参考サイト [1] に詳しい説明があります。

最近の PC はメモリを多く搭載するようになったので、そのメモリ上に圧縮されたスワップ領域を確保しても、普段遣いでは特段の問題は起きません。しかし、一時的に極めて多くの領域を使いたい場合に困ることがあります。

会社で使用しているワークステーション上で、多少時間がかかっても良いから、一時的にメモリの容量を超えるデータを扱いたい事情ができたので、やむなく zram の使用を止め、大きなスワップファイルを用意して対応したので、備忘録にしました。

下記の OS 環境で動作確認をしました。

Fedora Linux 38 beta (Workstation Edition) x86_64

zram の使用を停止

参考サイト [2] に従って、zram のサービスを削除してしまいます。

$ sudo dnf remove zram-generator-defaults

btrfs 上にスワップ領域を作成

参考サイト [3] に従って、ファイルシステム btrfs 上にスワップファイルを作成します。

$ sudo btrfs subvolume create /swap
$ sudo touch /swap/swapfile
$ sudo chattr +C /swap/swapfile
$ sudo fallocate --length 95GiB /swap/swapfile
$ sudo chmod 600 /swap/swapfile 
$ sudo mkswap /swap/swapfile 

本件では、ワークステーションのメモリ容量が 32GB なのですが、事情により常識外れのサイズ、96GB のスワップファイルを用意しました。

/etc/fstab に下記一行を加えます。

/swap/swapfile none swap swap 0 0

再起動後、スワップファイルがスワップに使われていることを確認します。

$ swapon
NAME           TYPE SIZE   USED PRIO
/swap/swapfile file  96G 743.5M   -2

SSD 上にスワップ領域を確保することは、寿命の観点で懸念がありますが、ストレージの容量が 2TB あるので、目の前の問題の解決を優先することにして、あまり深く考えないことにします。😅

 

参考サイト

  1. zram swappingによるRAM節約、高速I/O【Fedora33以降】 - えんでぃの技術ブログ [2021-11-22]
  2. Changes/SwapOnZRAM - Fedora Project Wiki
  3. Fedora 35 hibernation with swapfile, only for hibernation and resume

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ オープンソースへ
にほんブログ村

オープンソース - ブログ村ハッシュタグ
#オープンソース



このエントリーをはてなブックマークに追加

0 件のコメント: