質問: Linux システムにスワップ領域を追加したいと考えています。スワップ領域を増やす方法について明確な例を挙げて説明できますか?
答え: 専用のハード ドライブ パーティションを使用して新しいスワップ スペースを追加するか、既存のファイル システムにスワップ ファイルを作成してスワップ スペースとして使用することができます。
現在システムで使用されているスワップ領域はどれくらいですか?
Free コマンドは、スワップ領域を表示します。 free -k は出力を KB で表示します。
# free -k total used free shared buffers cached Mem: 3082356 2043700 1038656 0 50976 1646268 -/+ buffers/cache: 346456 2735900 Swap: 4192956 0 4192956
オプション -s を指定した Swapon コマンドは、現在のスワップ領域を KB 単位で表示します。
# swapon -s Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1
Swapon -s は、以下と同じです。
# cat /proc/swaps Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1
方法 1:追加のスワップ領域にハード ドライブ パーティションを使用する
追加のハードディスク (または既存のディスクで使用可能なスペース) がある場合は、fdisk コマンドを使用してパーティションを作成します。このパーティションが /dev/sdc1 と呼ばれるとしましょう
以下に示すように、mkswap コマンドを使用して、この新しく作成されたパーティションをスワップ領域としてセットアップします。
# mkswap /dev/sdc1
以下に示すように、swapon コマンドを使用してスワップ パーティションを使用できるようにします。
# swapon /dev/sdc1
このスワップ スペース パーティションを再起動後も利用できるようにするには、次の行を /etc/fstab ファイルに追加します。
# cat /etc/fstab /dev/sdc1 swap swap defaults 0 0
新しく作成されたスワップ領域が使用可能かどうかを確認してください。
# swapon -s Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1 /dev/sdc1 partition 1048568 0 -2 # free -k total used free shared buffers cached Mem: 3082356 3022364 59992 0 52056 2646472 -/+ buffers/cache: 323836 2758520 Swap: 5241524 0 5241524
注: swapon -s コマンドの出力では、スワップ領域がディスク パーティションから作成された場合、[タイプ] 列に「パーティション」と表示されます。
方法 2:追加のスワップ領域にファイルを使用する
追加のディスクがない場合は、ファイル システムのどこかにファイルを作成し、そのファイルをスワップ領域として使用できます。
次の dd コマンドの例では、/root ディレクトリの下にサイズが 1024MB (1GB) の「myswapfile」という名前のスワップ ファイルを作成します。
# dd if=/dev/zero of=/root/myswapfile bs=1M count=1024 1024+0 records in 1024+0 records out # ls -l /root/myswapfile -rw-r--r-- 1 root root 1073741824 Aug 14 23:47 /root/myswapfile
root だけがアクセスできるように、スワップ ファイルの権限を変更してください。
# chmod 600 /root/myswapfile
mkswap コマンドを使用して、このファイルをスワップ ファイルとして作成します。
# mkswap /root/myswapfile Setting up swapspace version 1, size = 1073737 kB
新しく作成されたスワップファイルを有効にします。
# swapon /root/myswapfile
このスワップ ファイルを再起動後もスワップ領域として使用できるようにするには、次の行を /etc/fstab ファイルに追加します。
# cat /etc/fstab /root/myswapfile swap swap defaults 0 0
新しく作成されたスワップ領域が使用可能かどうかを確認してください。
# swapon -s Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1 /root/myswapfile file 1048568 0 -2 # free -k total used free shared buffers cached Mem: 3082356 3022364 59992 0 52056 2646472 -/+ buffers/cache: 323836 2758520 Swap: 5241524 0 5241524
注: swapon -s コマンドの出力では、スワップ領域がスワップ ファイルから作成された場合、[タイプ] 列に「ファイル」と表示されます。
システムが /etc/fstab に記載されているすべてのスワップ スペースを使用しているかどうかを確認するために再起動したくない場合は、次の手順を実行できます。これにより、/etc/fstab に記載されているすべてのスワップ パーティションが無効および有効になります。 P>
# swapoff -a # swapon -a