GNU/Linux >> Linux の 問題 >  >> Linux

UNIX / Linux:dd、mkswap、および swapon を使用してスワップ領域を追加する 2 つの方法

質問: 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

Linux
  1. dfおよびduコマンドを使用してLinuxのディスク容量を確認する

  2. Debian 11 にスワップ領域を追加する方法

  3. Ubuntu 22.04 でスワップ領域を追加する方法

  1. バックグラウンドで UNIX / Linux コマンド (およびシェル スクリプト) を実行する 5 つの方法

  2. Linux でスワップ領域を追加する方法

  3. Linux でスワップ領域を使用しているプロセスを見つける方法は?

  1. Linuxシステムのスワップスペースの概要

  2. 50 UNIX / Linux システム管理者チュートリアル

  3. Linux上のOracle Databaseに追加するスワップ領域の量