スワップ(スワップメモリ)はハードディスク上のスペースであり、物理メモリが使い果たされると、スワップメモリが使用されます。 Linuxシステムのメモリが不足すると、非アクティブなメモリページがRAMスペースからスワップメモリスワップスペースに移動されます。
スワップスペースは、独立したメモリスワップパーティションまたはスワップファイルの形式で存在する場合があります。通常、仮想マシンでCentOSを実行すると、既製のメモリスワップパーティションがないため、唯一のオプションはスワップファイルを作成することです。
この記事では、CentOS8システムにスワップファイルを追加するためのいくつかの手順について説明します。
rootまたはsudo権限を持つ別のユーザーとして次の手順を実行して、CentOS8システムにスワップスペースを追加します。
sudo fallocate -l 1G /swapfile
この例では、サイズが1Gのスワップファイルを作成しました。より多くのメモリスワップスペースが必要な場合は、 1G
を必要なサイズに置き換えてください。
システムで fallocate
が使用できない場合、またはエラーメッセージが表示された場合: fallocate failed:Operation notsupported
の場合は dd
コマンドを使用してスワップファイルを作成します。
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
sudo chmod 600/swapfile
sudo mkswap /swapfile
Setting up swapspace version 1, size =1024MiB(1073737728 bytes)
no label, UUID=0abdb8ba-57d6-4435-8fd8-5db9fc705045
sudo swapon /swapfile
swapon
または free
コマンドを使用して、スワップスペースがアクティブ化されているかどうかを確認します。sudo swapon --show
NAME TYPE SIZE USED PRIO
/swapfile file 1024M 507.4M -1
sudo free -h
total used free shared buff/cache available
Mem: 488M 158M 83M 2.3M 246M 217M
Swap:1.0G 506M 517M
/ etc / fstab
ファイルにスワップエントリを追加することで保持されます。sudo nano /etc/fstab
次のコンテンツをファイルの後ろに貼り付けます。
/swapfile swap swap defaults 00
Swappinessは、システムがスワップスペースを使用する頻度を定義するLinuxカーネル属性値です。 Swappinessの値の範囲は0〜100です。値を小さくすると、カーネルはスワップメモリをできるだけ使用しなくなり、値を大きくすると、カーネルはスワップメモリをできるだけ使用しなくなります。
CentOS8のswappinessのデフォルト値は30です。次のコマンドを入力して、現在のスワップピネス値を確認できます。
cat /proc/sys/vm/swappiness
30
スワップピネス値が30の場合、デスクトップおよび開発マシンに適しています。本番サーバーの場合、この値を下げる必要がある場合があります。たとえば、swappinessの値を10に下げるには、次のように入力します。
sudo sysctl vm.swappiness=10
このパラメーターを永続化するには、次のコンテンツを / etc / sysctl.conf
ファイルに貼り付けて、再起動する必要があります。
vm.swappiness=10
最適なswappiness値は、システムのワークロードとメモリの使用方法によって異なります。最適な値を見つけるには、このパラメーターの値を少しずつ増やす必要があります。
スワップファイルを非アクティブ化して削除するには、次の手順に従います。
sudo swapoff -v /swapfile
スワップエントリ / swapfile swap swap defaults 00
を / etc / fstab
ファイルから削除します。
rm
を使用して、実際のスワップファイルを削除します。
sudo rm /swapfile
CentOS 8でスワップファイルを作成し、スワップスペースをアクティブ化して構成する方法を示しました。
Recommended Posts