ウェブサイト検索

Linux スワップ ファイルを作成する方法


この記事では、スワップ スペースについて説明し、Linux でスワップ ファイルを使用してスワップ スペースを作成する方法を学びます。これは、ハード ディスク上にスワップ パーティションが作成されていない場合に重要です。

スワップ スペース/パーティションは、メモリが完全に使用されている場合にオペレーティング システムが使用するために作成されるディスク上のスペースです。システムの仮想メモリとして使用できます。ディスク上のパーティションまたはファイルのいずれかになります。

カーネルはメモリが不足すると、アイドル/非アクティブなプロセスをスワップに移動し、作業メモリ内にアクティブなプロセス用のスペースを作成します。これは、メモリのセクションを仮想メモリとの間でスワップするメモリ管理です。

推奨読書: Linux でスワップ スペースの使用状況を監視するための 8 つの便利なコマンド

そうは言っても、ファイルを使用してスワップスペースを作成する手順は次のとおりです。

Linux でスワップを作成して有効にする方法

1. この例では、次のように dd コマンドを使用してサイズ 2GB のスワップ ファイルを作成します。 bs=1024 は、一度に最大 1024 バイトの読み取りと書き込みを意味し、 ファイルのcount=(1024 x 2048)MB サイズであることに注意してください。 。

dd if=/dev/zero of=/mnt/swapfile bs=1024 count=2097152

あるいは、次のようにfallocate コマンドを使用します。

fallocate --length 2GiB /mnt/swapfile

次に、ファイルに適切なアクセス許可を設定します。次のように root ユーザーのみが読み取りできるようにします。

chmod 600 /mnt/swapfile

2. 次に、mkwap コマンドを使用して、スワップ領域のファイルをセットアップします。

mkswap /mnt/swapfile

3. 次に、スワップ ファイルを有効にして、スワップ ファイルとしてシステムに追加します。

swapon /mnt/swapfile

4. その後、起動時にスワップ ファイルがマウントされるようにします。 /etc/fstab ファイルを編集し、次の行を追加します。

/mnt/swapfile swap swap defaults 0 0

上の行の各フィールドの意味は次のとおりです。

  • /mnt/swapfile – デバイス/ファイル名
  • スワップ – デバイスのマウント ポイントを定義します
  • スワップ – ファイル システムのタイプを指定します。
  • デフォルト – マウント オプションについて説明します。
  • 0 – ダンプ プログラムで使用されるオプションを指定します。
  • 0 – fsck コマンド オプションを指定します。

6. カーネルがスワップ ファイルを使用できる頻度を設定するには、/etc/sysctl.conf ファイルを開き、以下の行を追加します。

スワップ領域の使用頻度のデフォルト値は 60 です ( 最大値は 100)。数値が大きいほど、カーネルによるスワップ領域の使用頻度が高くなります。値を 0 に設定すると、オペレーティング システムがメモリを完全に利用している場合にのみスワップ ファイルが使用されます。

vm.swappiness=10

6. ここで、swapon コマンドを使用してスワップ ファイルが作成されたことを確認します。

swapon  -s
OR
free
OR
cat  /proc/swaps

必要に応じて、次のコマンドを使用してシステムを再起動し、上記の変更を反映させることができます。

reboot

以下の役立つ Linux メモリ管理ガイドも必ずお読みください。

  1. Linux で RAM メモリ キャッシュ、バッファ、およびスワップ スペースをクリアする方法
  2. Linux のメモリ使用量を確認するための 10 の「無料」コマンド
  3. Smem – Linux のプロセスごとおよびユーザーごとのメモリ消費量をレポートします
  4. Linux での最高のメモリと CPU 使用率による上位実行プロセスの検索

それでおしまい!問題がある場合は、以下のフィードバック フォームを使用して、このトピックに関する質問や重要な追加アイデアをお送りください。