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

Ubuntu20.04でスワップファイルを追加する方法

はじめに

この記事では、スワップファイルを作成する方法について説明します。スワップファイルは、実行中のタスクまたはプロセスを実行するのに十分なメモリがクラウドサーバーにない場合に役立ちます。これにより、サーバーがメモリを解放するためにプロセスの強制終了を開始する可能性があります。メモリの一部は、データベースやWebサーバーなどの重要なものである可能性があります。

スワップファイルは、通常のメモリがすぐに利用できないときにハードドライブスペースを仮想メモリとして利用することで、これらの問題を回避するのに役立ちます。

Ubuntu20.04でのスワップファイルの追加

まず、現在使用中のスワップファイルがないことを確認する必要があります。これを判断する最も簡単な方法は、次のコマンドを実行することです。

free -m

出力:

             total       used       free     shared    buffers     cached
Mem:          3834       3448        385        681        173       1424

出力には、システムに搭載されているメモリの量と、スワップが構成されている場合はその量が表示されます。この場合、サーバーはプロビジョニングされたばかりで、スワップは構成されていません。

次のステップでは、スワップに割り当てるスペースの量を選択します。これは、次のコマンドで実行できます。

dd if=/dev/zero of=/swapfile bs=1024 count=2048k

この例では、2GBのスワップファイルを作成します。 1ギガバイトには10​​24メガバイトがあるので、2 GBを達成するために、カウントとして2048kを使用します。

:最後に「k」を含めることを忘れないでください。そうしないと、実際には2メガバイトのスワップファイルが作成されます。これは、バイトサイズにカウントブロックで指定された量が乗算されているためです。

次に、作成したスワップファイルをオペレーティングシステムに割り当てる必要があります。

mkswap /swapfile

mkswap / swapfile

スワップファイルを有効にして、割り当てられていることを確認します。

swapon /swapfile
free -m

出力:

total       used       free     shared    buffers     cached
Mem:          3834       3448        385        681        173       1424
Swap:         2017         0         2017


The output of “free -m” should now show the amount you configured for swap.

Next, we need to configure the system to enable the swap file every time the server boots. Otherwise, you would need to manually enable it every time you reboot the server using the “swapon /swapfile” command.

To accomplish this we will need to edit the /etc/fstab file using a text editor of your choice.

Add the following line to the end of the file:
/swapfile none swap sw 0 0

/ swapfile none swap sw 0 0

これが完了したら、変更を保存してファイルを閉じます。

これが完了した後も、「swappiness」を設定する必要があります。デフォルトでは、ほとんどのLinuxデプロイメントのswappinessのデフォルトは60です。これは、RAMの40%が使用され、60%が使用されていない場合、スワップファイルが使用されることを意味します。クラウドサーバーはすべてSSD上にあるため、デフォルトのswappinessは0に設定されています。つまり、すべてのRAMが100%使用されている場合、スワップファイルが使用されます。

コマンドを実行します:

nano /etc/sysctl.conf

次に、次の行を変更または追加します:

vm.swappiness = 10

少し高いスワップが必要な場合は、この番号で遊ぶことができます。 20または30を超えないようにしてください。複数の理由から、swappinessを低く設定することをお勧めします。スワップピネスを低くすることをお勧めする最初の理由は、スワッピネスを積極的に使用しすぎると、SSDの寿命が短くなるためです。もう1つの理由は、swappinessの設定が高すぎると、システムがスワップファイルを頻繁に使用するためです。これにより、サーバーがRAMを適切に使用するのではなく、スワップファイルのスワップインとスワップアウトでビジー状態になるため、システムの入出力の競合が発生する可能性があります。場合によっては、RAMの不足よりもサーバーの速度が低下する可能性があります。

次に、スワップファイルを再起動して、新しい設定を有効にする必要があります。サーバーを再起動するか、以下を実行できます:

swapoff -a

および

swapon -a

それでおしまい!これで、クラウドサーバー用の永続的なスワップファイルができました。

*注–これらのコマンドはCentOSデプロイメントでも機能します*


Linux
  1. Ubuntu18.04でスワップスペースを追加する方法

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

  3. g++ を Ubuntu にインストールする方法

  1. Ubuntuでスワップファイルを追加する方法

  2. Linuxでスワップを作成する方法

  3. UbuntuLinuxでスワップサイズを増やす方法

  1. Ubuntu18.04でスワップスペースを追加する方法

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

  3. CentOS / RHEL :スワップ ファイルを追加する方法