「設定 - Swap領域の拡張方法(SUSE)」の版間の差分
編集の要約なし |
|||
4行目: | 4行目: | ||
<br><br> | <br><br> | ||
== | == Swap向けパーティションの作成方法 == | ||
Swap向けパーティションを作成する。<br> | |||
※パーティションタイプは82(Linux swap)を指定して作成する。<br> | ※パーティションタイプは82(Linux swap)を指定して作成する。<br> | ||
sudo fdisk /dev/ | # <span style="color:#C00000">X</span> : ストレージ番号 | ||
sudo fdisk /dev/sd<span style="color:#C00000">X</span> | |||
<br> | <br> | ||
Swap用のパーティションが正常に作成できたか確認する。<br> | Swap用のパーティションが正常に作成できたか確認する。<br> | ||
sudo fdisk -l /dev/ | sudo fdisk -l /dev/sd<span style="color:#C00000">X</span> | ||
: | : | ||
Device Boot Start End Blocks Id System | Device Boot Start End Blocks Id System | ||
16行目: | 17行目: | ||
<br> | <br> | ||
次に、Swap領域を設定する。<br> | 次に、Swap領域を設定する。<br> | ||
sudo mkswap -c /dev/ | # <span style="color:#C00000">X</span> : ストレージ番号 | ||
# <span style="color:#008000">Y</span> : パーティション番号 | |||
sudo mkswap -c /dev/sd<span style="color:#C00000">X</span><span style="color:#008000">Y</span> | |||
<br> | <br> | ||
Swap領域を有効にする。<br> | |||
sudo swapon /dev/ | # <span style="color:#C00000">X</span> : ストレージ番号 | ||
# <span style="color:#008000">Y</span> : パーティション番号 | |||
sudo swapon /dev/sd<span style="color:#C00000">X</span><span style="color:#008000">Y</span> | |||
<br> | <br> | ||
また、Swapファイルを無効にするには、以下に示すコマンドを実行する。<br> | |||
sudo swapoff /dev/ | # <span style="color:#C00000">X</span> : ストレージ番号 | ||
# <span style="color:#008000">Y</span> : パーティション番号 | |||
sudo swapoff /dev/sd<span style="color:#C00000">X</span><span style="color:#008000">Y</span> | |||
<br> | <br> | ||
現在、使用可能なSwap領域を確認する。<br> | 現在、使用可能なSwap領域を確認する。<br> | ||
30行目: | 37行目: | ||
<br> | <br> | ||
なお、使用可能なパーティションが無い場合、手動でSwapファイルを作成して、Swap領域を拡張することも可能である。<br> | なお、使用可能なパーティションが無い場合、手動でSwapファイルを作成して、Swap領域を拡張することも可能である。<br> | ||
<br> | |||
<u>※注意</u><br> | |||
<u>ただし、Btrfsは、Swapファイルをサポートしていないので注意すること。</u><br> | |||
<br><br> | <br><br> | ||
== Swapファイルの作成方法 == | == Swapファイルの作成方法 == | ||
==== Btrfs以外の場合 ==== | |||
Swap用の空ファイルを作成する。<br> | Swap用の空ファイルを作成する。<br> | ||
例えば、8[GB]のSwapファイルを/var/lib/swap/swapfileに追加するには、次のコマンドを実行する。<br> | 例えば、8[GB]のSwapファイルを/var/lib/swap/swapfileに追加するには、次のコマンドを実行する。<br> | ||
59行目: | 69行目: | ||
# /etc/fstabファイル | # /etc/fstabファイル | ||
: | : | ||
/dev/ | /dev/sdXY swap swap defaults 0 0 | ||
/var/lib/swap/swapfile swap swap defaults 0 0 | /var/lib/swap/swapfile swap swap defaults 0 0 | ||
<br> | |||
==== Btrfsの場合 (Linuxカーネル 5.0以降) ==== | |||
Btrfsのswapファイルは、Linuxカーネル 5.0以降からサポートされている。<br> | |||
<br> | |||
Swapファイルを初期化する手順を以下に示す。 | |||
# まず、ファイルをホストする非圧縮、非スナップショットのサブボリュームを作成する。 | |||
# サイズがゼロのSwapファイルを作成して、<code>No_COW</code>を設定する。 | |||
# 属性を<code>chattr</code>コマンドで変更して、圧縮が無効になっていることを確認する。 | |||
<br> | |||
truncate -s 0 <作成するSwapファイルのパス> | |||
sudo chattr +C <作成したSwapファイルのパス> | |||
sudo btrfs property set <作成したSwapファイルのパス> compression none | |||
<br> | |||
<u>※注意</u><br> | |||
<u>Swapファイルをスナップショットサブボリュームに置くことはできないため、Swapファイルを配置する新しいサブボリュームを作成する必要がある。</u><br> | |||
<u>複数のデバイスにまたがるファイルシステム上のSwapファイルはサポートされない。</u><br> | |||
<br> | |||
Swapファイルの使用領域、あるいは、空き領域を表示する場合は、以下に示すコマンドを実行する。<br> | |||
sudo btrfs filesystem usage <Swapファイルのパス> | |||
# または | |||
btrfs filesystem df <Swapファイルのパス> | |||
<br> | |||
==== Btrfsの場合 (Linuxカーネル 4.x以前) ==== | |||
<u>Btrfsでは、ループデバイスにスワップファイルをマウントして、それをスワップに割り当てることができる。</u><br> | |||
<br> | |||
まず、任意のディレクトリにSwapファイルを作成する。<br> | |||
sudo dd if=/dev/zero of=<Swapファイルのパス> bs=1M count=1024 | |||
<br> | |||
次に、ルーパバックデバイスにSwapファイルを割り当てる。<br> | |||
# <span style="color:#C00000">X</span> : ループバックデバイス番号 | |||
sudo losetup /dev/loop<span style="color:#C00000">X</span> <Swapファイルのパス> | |||
sudo mkswap /dev/loop<span style="color:#C00000">X</span> | |||
<br><br> | <br><br> | ||
2024年10月9日 (水) 22:24時点における最新版
概要
ここでは、手動によるSwap領域の拡張方法について記載する。
Swap用のパーティションを準備している場合、YaSTで拡張可能である。
Swap向けパーティションの作成方法
Swap向けパーティションを作成する。
※パーティションタイプは82(Linux swap)を指定して作成する。
# X : ストレージ番号 sudo fdisk /dev/sdX
Swap用のパーティションが正常に作成できたか確認する。
sudo fdisk -l /dev/sdX
:
Device Boot Start End Blocks Id System
/dev/sdx2 2048 6291455 3144704 82 Linux swap / Solaris
次に、Swap領域を設定する。
# X : ストレージ番号 # Y : パーティション番号 sudo mkswap -c /dev/sdXY
Swap領域を有効にする。
# X : ストレージ番号 # Y : パーティション番号 sudo swapon /dev/sdXY
また、Swapファイルを無効にするには、以下に示すコマンドを実行する。
# X : ストレージ番号 # Y : パーティション番号 sudo swapoff /dev/sdXY
現在、使用可能なSwap領域を確認する。
cat /proc/swaps もしくは sudo swapon -s
なお、使用可能なパーティションが無い場合、手動でSwapファイルを作成して、Swap領域を拡張することも可能である。
※注意
ただし、Btrfsは、Swapファイルをサポートしていないので注意すること。
Swapファイルの作成方法
Btrfs以外の場合
Swap用の空ファイルを作成する。
例えば、8[GB]のSwapファイルを/var/lib/swap/swapfileに追加するには、次のコマンドを実行する。
sudo mkdir -p /var/lib/swap sudo dd if=/dev/zero of=/var/lib/swap/swapfile bs=1M count=8192
次に、スワップファイルを初期化する。
sudo mkswap /var/lib/swap/swapfile
Swapファイルを有効化する。
sudo swapon /var/lib/swap/swapfile
ちなみに、Swapファイルを無効にするには、次のコマンドを実行する。
sudo swapoff /var/lib/swap/swapfile
現在、使用可能なSwap領域を確認する。
cat /proc/swaps または sudo swapon -s
上記の設定は、一時的なSwap領域なので、再起動後は使用されなくなる。
拡張したSwap領域を永久的に有効にするには、/etc/fstabファイルを編集して、次の行を追加する。
sudo vi /etc/fstab # /etc/fstabファイル : /dev/sdXY swap swap defaults 0 0 /var/lib/swap/swapfile swap swap defaults 0 0
Btrfsの場合 (Linuxカーネル 5.0以降)
Btrfsのswapファイルは、Linuxカーネル 5.0以降からサポートされている。
Swapファイルを初期化する手順を以下に示す。
- まず、ファイルをホストする非圧縮、非スナップショットのサブボリュームを作成する。
- サイズがゼロのSwapファイルを作成して、
No_COW
を設定する。 - 属性を
chattr
コマンドで変更して、圧縮が無効になっていることを確認する。
truncate -s 0 <作成するSwapファイルのパス> sudo chattr +C <作成したSwapファイルのパス> sudo btrfs property set <作成したSwapファイルのパス> compression none
※注意
Swapファイルをスナップショットサブボリュームに置くことはできないため、Swapファイルを配置する新しいサブボリュームを作成する必要がある。
複数のデバイスにまたがるファイルシステム上のSwapファイルはサポートされない。
Swapファイルの使用領域、あるいは、空き領域を表示する場合は、以下に示すコマンドを実行する。
sudo btrfs filesystem usage <Swapファイルのパス> # または btrfs filesystem df <Swapファイルのパス>
Btrfsの場合 (Linuxカーネル 4.x以前)
Btrfsでは、ループデバイスにスワップファイルをマウントして、それをスワップに割り当てることができる。
まず、任意のディレクトリにSwapファイルを作成する。
sudo dd if=/dev/zero of=<Swapファイルのパス> bs=1M count=1024
次に、ルーパバックデバイスにSwapファイルを割り当てる。
# X : ループバックデバイス番号 sudo losetup /dev/loopX <Swapファイルのパス> sudo mkswap /dev/loopX
Swapキャッシュの削除
Swapキャッシュを削除する。
sudo swapoff -a sudo swapon -a # または sudo swapoff -a && sudo swapon -a