2019年8月20日火曜日

スワップはファイルへ

Linuxをインストールするとき、
まず行うのはHDD等にパーティションを切ることです。
私が初めて1GBのHDDにインストールした当時は
2つに分けて1つをシステム、
1つをスワップパーティションにしていました。
より正確にはWindowsとのデュアルブートなので、
Windowsパーティションを合わせて3つに分けてました。

その後は/bootを別パーティション化するのが一般的になり、
魔改造的に/home、/varなどを細かく別パーティションにして
メンテナンス性をよくしたりしていましたが、
HDDの容量が大きくなりすぎるとそれも面倒なので、
/をわりと大きく取って/bootをそれなりに用意し、
あとは作業用に巨大なパーティションを/optに、
場合によっては/opt2、…にマウントするようになりました。

ところで最近はメインメモリが16GBなんてのもわりと普通で、
そうするとスワップをどうするかが疑問です。
昔は物理メモリと同サイズ程度のスワップパーティションを
用意するのが定石で、今でも私はそうしていますが、
メモリが16GBもあれば特別なことをしなければスワップすることもなく、
すでに必要ないといっても過言ではありません。
パーティションを分けるのも面倒ですし。

なんて考えていたら、Ubuntu 17.04以降では
デフォルトでスワップパーティションではなく
スワップファイルを使うんだそう。
昔はWindowsのスワップファイルが色々邪魔で、
あんまりいい印象はないのですが、
今の時代にはスワップファイルのほうがいいような気もします。

なおスワップの現設定は
# swapon -s
で知ることができ、[タイプ]が"partition"なら
昔ながらのスワップパーティションで、
"file"ならスワップファイルです。
もしスワップファイルを使いたければ
# fallocate -l 1G /swap
# chmod 600 /swap
# mkswap /swap
# swapon /swap
でファイル"/swap"(1GB)をスワップとして利用可能となります。
起動時に有効になるよう"/etc/fstab"設定ファイルに
/swap none swap sw 0 0
の行を追加しておきましょう。
ただこれだとそれまでに設定されている
スワップパーティションも有効なため、
"/etc/fstab"設定ファイルから[type]が"swap"の行を無効にし、
[GParted]ツール等でスワップパーティションを削除して
その領域を再利用するのがいいでしょう。

0 件のコメント:

コメントを投稿