SWAPは、RAMにいくらかの負荷をかけることができ、Ubuntuシステムのメモリスペースとして使用できるパーティションまたはディスクスペースです。通常、新しいLinuxベースのオペレーティングシステムをインストールしているときに、新しいSWAPパーティションを作成するように提案されます。ファイルパーティションにはSWAPフラグがあり、通常、SWAPスペースのサイズは平均2GBです。システムメモリがいっぱいになると、Linuxカーネルは未使用のファイルを停止するのではなく自動的にSWAP領域に移動します。ご存知のように、Linuxでは、すべてがファイルであり、SWAPはファイルをかなりうまく処理できます。したがって、仮想マシンでUbuntuシステムを使用している場合は、必ずSWAPスペースをマシンに追加してみてください。
UbuntuLinuxのスペースを入れ替える
SWAPスペースにどのくらいのストレージを使用する必要がありますか? SWAPは余分なRAM負荷をかける可能性があるので、必要なだけSWAPを割り当てることができますか?さて、これが標準的な式です。マシンに2GBを超える物理RAMがある場合は、SWAPをお勧めします。
物理メモリの量が多い場合は、SWPを使用することもできます。使用するSWAPの量は、実際のRAMの量によって異なります。 RAMとSWAPの比率を理解するには、以下の表に従ってください。この投稿では、UbuntuシステムにSWAPスペースを追加する方法を説明します。
RAMサイズ | スワップサイズ(休止状態なし) | スワップサイズ(休止状態あり) |
---|---|---|
256MB | 256MB | 512MB |
512MB | 512MB | 1GB |
1GB | 1GB | 2GB |
2GB | 1GB | 3GB |
3GB | 2GB | 5GB |
4GB | 2GB | 6GB |
6GB | 2GB | 8GB |
8GB | 3GB | 11GB |
12GB | 3GB | 15GB |
16GB | 4GB | 20GB |
24GB | 5GB | 29GB |
32GB | 6GB | 38GB |
64GB | 8GB | 72GB |
128GB | 11GB | 139GB |
ステップ1:Ubuntuの現在のシステムスワップスペースを確認する
UbuntuおよびDebianベースのシステムで新しいSWAPスペースの作成を開始する前に、システムに既存のSWAPスペースがないことを確認してください。以下のコマンドのいずれかを使用して、UbuntuマシンのSWAPスペースを確認できます。
sudo swapon -s sudo swapon --show
ターミナルシェルでは、Linuxではすべてがファイルであるため、SWAPが「ファイルタイプ」として言及されていることがわかります。
ステップ2:Ubuntuでスワップファイルを作成する
このステップでは、allocateコマンドを使用して、SWAPファイルとして特定のスペースを割り当てます。下記のコマンドで、allocateコマンドは4ギガバイトのスペースをSWAPスペースとして割り当てます。コマンドがファイルの作成を終了したら、次のモード変更コマンドを実行して、SWAPファイルに読み取りおよび書き込み権限を許可してください。
---sudo fallocate -l 4G /swapfile chmod 600 /swapfile
割り当てコマンドの使用で問題が発生した場合は、次のコマンドを試してSWAPスペースを作成してください。
sudo dd if=/dev/zero of=/swapfile bs=4096 count=1048576
次に、SWAPファイルを実行可能にし、ルートアクセスを使用してターミナルシェルで次のコマンドを実行することにより、Ubuntuシステムで有効にします。
sudo mkswap /swapfile sudo swapon /swapfile
ステップ3:スクリプトを構成してスワップを割り当てる
UbuntuシステムでSWAPスペースを作成した後、構成を編集してSWAPパラメーターを設定できます。たとえば、ルートアクセスで次のコマンドを使用し、SWAPパーティションを編集して、UUIDを確認します。
sudo nano /etc/fstab
ここで、構成スクリプトが開いたら、スクリプト内に次の行を追加して保存し、ファイルを終了します。この行は、マウントポイント、ファイルタイプを示しています。
/swapfile none swap sw 0 0
次に、次のコマンドを実行して、マシンでSWAPスペースを有効にするためのカーネルレベルのスクリプトを編集します。
sudo nano /etc/sysctl.conf
スクリプトが開いたら、スクリプト内に次の行を追加し、保存して終了します。緊急度に応じて値を変更できます。
vm.swappiness=10
次に、次のシステム制御コマンドを実行してSWAPスペースをリロードし、マシンへの影響を確認します。
sudo sysctl -p
これで、以下のswaponコマンドを実行して、UbuntuシステムでSWAPスペースがアクティブ化されているかどうかを確認できます。
sudo swapon --show
ステップ4:UbuntuでSWAPのサイズを変更する
SWAPディスク内にさらにスペースを追加する必要がある場合は、それにディスクスペースを追加するだけで済みます。 UbuntuマシンでSWAPスペースのサイズを変更するには、SWAPスペースをオフにしてから、目的のスペースを再割り当てする必要があります。これを実現するには、rootアクセスを使用してシェルで次のコマンドラインを実行できます。
sudo swapoff /swapfile sudo fallocate -l 2G /swapfile
サイズ変更が終了したら、スペースをSWAPとしてマークし、システムでファイルを有効にします。次のコマンドを実行して、SWAPスペースをマークして有効にします。
sudo mkswap /swapfile sudo swapon /swapfile
ステップ5:UbuntuLinuxでSWAPを削除する
マルチブートコンピュータを使用している場合、オペレーティングシステムごとにシステムのSWAPスペースを割り当てる必要がある場合があります。次のプロセスでは、UbuntuマシンのSWAPスペースを空にすることができます。まず、次のnanoコマンドを実行して、swap2ramスクリプトを編集します。開いたら、以下のスクリプトを追加し、ファイルを保存して終了します。
sudo nano /usr/local/sbin/swap2ram.sh
次に、スクリプトに次の行を追加し、ファイルを保存して終了し、SWAPファイルを非アクティブ化します。
#!/bin/sh mem=$(LC_ALL=C free | awk '/Mem:/ {print $4}') swap=$(LC_ALL=C free | awk '/Swap:/ {print $3}') if [ $mem -lt $swap ]; then echo "ERROR: not enough RAM to write swap back, nothing done" >&2 exit 1 fi swapoff -a && swapon -a
スクリプトの編集とコマンドの実行で問題が発生した場合は、changemodeコマンドを実行してファイルを実行してください。
sudo chmod +x /usr/local/sbin/swap2ram.sh sudo /usr/local/sbin/swap2ram.sh
ターミナルシェルで次のrmコマンドを実行して、SWAPをオフにして削除することもできます。
sudo swapoff -v /swapfile sudo rm /swapfile
直面する可能性のある問題
古いハードウェアまたはオペレーティングシステムを使用している場合、いくつかの問題に直面する可能性があります。たとえば、SWAPスペースを作成した後、マシンがSWAPスペースを使用する頻度をUbuntuカーネルに通知するために、swappiness値を変更する必要がある場合があります。
swappinessを変更できない場合 Ubuntuシステムの値については、次のコマンドラインを試して、スクリプト内にカスタム行を追加してください。ここで、60はメモリページング(スワップネス)値であり、構成に応じて変更できます。
cd /etc/sysctl.d/ sudo touch 60-my-swappiness.conf
次に、メモ帳/エディターでSWAP構成スクリプトを実行して、vm.swappiness = 60
を変更します。 値。
sudo nano 60-my-swappiness.conf
最後の言葉
間違いなく、SWAPはシステムの速度を上げることができ、Linuxでのスワッピングは、RAMスペースの不足によるコンピューターのクラッシュを本当に防ぐことができます。ただし、システムにSWAPスペースを作成する前に、SWAPスペースが本当に必要であることを確認してください。
また、OSのインストール中に、インストールウィザードを使用してスワップスペースを追加することをお勧めします。投稿全体で、SWAPの概念、必要なスワップの数、UbuntuシステムにSWAPスペースを追加するプロセスについて説明しました。
この投稿が有用で技術的であると思われる場合は、お友達やLinuxコミュニティと共有してください。この投稿に関する意見をコメントセクションに書き留めることもできます。