「設定 - Swap領域の拡張方法(SUSE)」の版間の差分

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動
編集の要約なし
 
4行目: 4行目:
<br><br>
<br><br>


== Swap用のパーティションの作成方法 ==
== Swap向けパーティションの作成方法 ==
Swap用のパーティションを作成する。<br>
Swap向けパーティションを作成する。<br>
※パーティションタイプは82(Linux swap)を指定して作成する。<br>
※パーティションタイプは82(Linux swap)を指定して作成する。<br>
  sudo fdisk /dev/sdx
# <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/sdx
  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/sdx2
# <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>
Swap領域を有効にする。<br>
  sudo swapon /dev/sdx2
# <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>
また、Swapファイルを無効にするには、以下に示すコマンドを実行する。<br>
  sudo swapoff /dev/sdb1
# <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>
※btrfsは、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/sdx2             swap  swap  defaults  0  0
  /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ファイルを初期化する手順を以下に示す。

  1. まず、ファイルをホストする非圧縮、非スナップショットのサブボリュームを作成する。
  2. サイズがゼロのSwapファイルを作成して、No_COWを設定する。
  3. 属性を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