スワップは、仮想メモリとして使用するために予約されているディスク上のスペースです。Linux®サーバーのメモリが不足すると、カーネルは非アクティブなプロセスをスワップスペースに移動して、作業メモリ内のアクティブなプロセス用のスペースを確保できます。
デフォルトでは、スワップパーティションはクラウドサーバーに存在しませんが、スワップファイルを割り当てることでサーバーにwapを追加できます。 aswapファイルのパフォーマンスは、スワップパーティションのパフォーマンスと同様です。ただし、スワップファイルを使用すると、ボリュームを再パーティション化せずにスワップサイズを簡単に制御できます。システムのswappiness値を変更することで、サーバーがこのスワップスペースをどれだけ積極的に使用するかを制御できます。 。
以下の手順は、Linuxでスワップファイルを作成し、システムのスワップネス値を変更する方法を示しています。
スワップファイルを追加するにはどうすればよいですか?
次の手順は、サーバーに1GBのスワップを追加する方法を示しています。
-
次のコマンドを入力して、スワップに使用するファイルを作成します。
sudo fallocate -l 1G /mnt/1GB.swap
fallocate
の場合 コマンドが失敗するか、インストールされていない場合は、次のコマンドを実行します。sudo dd if=/dev/zero of=/mnt/1GB.swap bs=1024 count=1048576
-
次のコマンドを入力して、スワップファイルをフォーマットします。
sudo mkswap /mnt/1GB.swap
-
次のコマンドを入力して、ファイルをスワップファイルとしてシステムに追加します。
sudo swapon /mnt/1GB.swap
-
/etc/fstab
の最後に次の行を追加します 変更を永続化するには:/mnt/1GB.swap none swap sw 0 0
-
swappinessの値を変更するには、次の行を
/etc/sysctl.conf
のファイルに追加します。 :vm.swappiness=10
10の値から始めて、必要に応じて増やします。 swappinessの一般的なデフォルト値は60です。数値が大きいほど(最大100)、システムがスワップを使用する頻度が高くなります。
swappinessがパフォーマンスに影響を与える程度は、メモリが現在どのように使用されているかによって異なります。実験して最適な値を見つけることをお勧めします。 0の場合、システムは、メモリが完全に不足した場合にのみスワップファイルを使用します。値を大きくすると、システムがアイドル状態のプロセスをスワップアウトしてディスクキャッシュ用のメモリを解放できるようになり、システム全体のパフォーマンスが向上する可能性があります。
-
次のコマンドを入力して、スワップファイルが作成されたことを確認します。
sudo swapon -s
-
サーバーを再起動して、変更が有効になることを確認します。
注 :新しいRackspaceサーバーでこれらの手順に従うと、結果のスワップファイルが世界中で読みやすくなります。ファイルが誰でも読み取り可能になるのを防ぐには、次のコマンドを実行して、スワップファイルに正しいアクセス許可を設定する必要があります。
chmod 600 /mnt/1GB.swap
ほとんどの場合、スワップパーティションへのアクセスが必要なユーザーはrootユーザーのみです。