スワップ領域とは
Linux では、現在処理中のデータを格納するのに十分な物理メモリ (RAM) がシステムにない場合に、スワップ領域が使用されます。システムがより多くのメモリを必要とする場合、非アクティブなメモリ ページがディスクに書き込まれ、物理メモリが解放されます。スワップ領域を増やすことは、メモリ不足の解決策とは見なされません。スワップ領域は、物理メモリよりアクセス時間が遅いディスク ドライブ上にあります。システムが頻繁にスワップする場合は、スワップ スペースを増やすのではなく、物理メモリを追加する必要があります。
Linux のスワップ スペースは、スワップ ファイルと呼ばれるファイル システム内の通常のファイル、別のパーティション、またはスワップ パーティションとスワップ ファイルの組み合わせのいずれかです。専用スワップ パーティションははるかに高速ですが、スワップ ファイルのサイズを変更する方が簡単です。必要なスワップ領域がわかっている場合は、スワップ パーティションを使用します。確信が持てない場合は、最初にスワップ ファイルを試してから、要件が分かったらスワップ パーティションを作成してください。
スワップ パーティションはパーティション テーブルにリストされ、/etc/fstab で参照され、/proc/swaps ファイルで表示できます。スワップ領域に関する情報を表示するコマンドライン ユーティリティもあります。パーティション テーブルでスワップ パーティションを表示するには、次のように入力します。
# fdisk -l | grep swap Disk /dev/mapper/cl-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
/etc/fstab ファイル内のスワップ パーティション (またはファイル) を表示するには、次のように入力します。
# grep swap /etc/fstab /dev/mapper/cl-swap swap swap defaults 0 0
/proc/swaps ファイルの内容を表示するには、次のように入力します。
# cat /proc/swaps Filename Type Size Used Priority /dev/dm-1 partition 2097148 88296 -1
スワップユーティリティ
mkswap コマンドは、スワップ パーティションまたはスワップ ファイルを初期化するために使用されます。構文は次のとおりです。
# mkswap {device|file}
swapon ユーティリティと swapoff ユーティリティは、デバイスとファイルのスワッピングをそれぞれ有効または無効にします。現在のスワップ情報を表示するには、「swapon –s」を使用します " 指図。出力は、/proc/swaps の内容を表示するのと同じです。
# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 2097148 88296 -1
スワップ領域の追加
スワップ パーティションまたはスワップ ファイルは、初期化する前に存在している必要があります。 fdisk または parted を使用して、スワップ パーティションを作成します。 dd コマンドを使用して、スワップ ファイルを作成します。例:
# dd if=/dev/zero of=/swapfile bs=1024 count=1000000
スワップ パーティションを初期化するには、次のように入力します。
# mkswap /dev/xvdd1
スワップ ファイルを初期化するには、次のように入力します。
# mkswap /swapfile
swapon を使用して、初期化されたスワップ スペースを有効にします。 指図。スワップ ファイルでスワップを有効にするには、次のように入力します。
# swapon /swapfile
スワップ パーティションでスワップを有効にするには、次のように入力します。
# swapon /dev/xvda3
/etc/fstab を更新します ブート時にスワップ パーティションまたはスワップ ファイルを有効にするファイル:
# vi /etc/fstab UUID=... swap swap defaults 0 0 /swapfile swap swap defaults 0 0
スワップの使用状況の表示
/proc/meminfo ファイルを表示するか、free、top、vmstat などの他のユーティリティを使用してメモリとスワップ領域の使用状況を表示します。例:
# grep -i swap /proc/meminfo SwapCached: 9472 kB SwapTotal: 2097148 kB SwapFree: 2008852 kB
free コマンドを使用してスワップの使用状況を表示するには、次のように入力します。
# free | grep -i swap Swap: 2097148 88296 2008852