swappiness値を別の値(例:60〜0)に設定した場合、変更を有効にするために常にマシンをリブートする必要がありますか?以下で修正する場合でも:
sysctl -w vm.swappiness=0
swappiness値を別の値(例:60〜0)に設定した場合、変更を有効にするために常にマシンをリブートする必要がありますか?以下で修正する場合でも:
sysctl -w vm.swappiness=0
回答:
あなたが与えたウィキペディアのページですべてがうまく説明されています。
# Set the swappiness value as root
echo 10 > /proc/sys/vm/swappiness
# Alternatively, run this as a non-root user
# This does the same as the previous command
sudo sysctl -w vm.swappiness=10
# Verify the change
cat /proc/sys/vm/swappiness
10
この時点で、システムは設定したとおりにスワップを管理しますが、今すぐ再起動すると、変更は忘れられ、システムはデフォルト値で動作します(60と仮定すると、40%でスワップを開始することを意味します) RAMの占有)。
/etc/sysctl.conf
変更を永続的に保持するには、以下の行を追加する必要があります。
vm.swappiness = 10
それがあなたにとってより明確であることを願っています!
受け入れられた答えは正しいですが、誤って他の設定を上書きしないように、別の「sysctl」設定ファイルを使用することをお勧めします(グローバルな「sysctl.conf」を上書きした場合に発生する可能性があります)。
# echo 'vm.swappiness=10' >/etc/sysctl.d/swappiness.conf
グローバル設定ファイル「/etc/sysctl.conf」をすでに変更している人は、この「swappiness」値を定義する行をそのファイルから削除したいかもしれません。このコマンドを使用して、グローバル構成ファイルから次の行を削除できます(コメントを保持)。
# sed -i '/^vm.swappiness=/d' /etc/sysctl.conf
ここで、新しい値を適用するには、sysctl
使用するように指示します。
# sysctl -p /etc/sysctl.d/swappiness.conf
または、swapinessを含むすべての設定を適用します。
# sysctl -p /etc/sysctl.d/*
確認してください:
# sysctl vm.swappiness
vm.swappiness = 10
CentOSマシンでvm.swappiness
はが設定されていることがわかりました
/usr/lib/tuned/virtual-guest/tuned.conf
。
構成ファイルを調べて、デフォルトが設定されている場所を確認します。tuned
sudo grep -R swap /usr/lib/tuned | grep swappiness
デフォルトを更新した後でも、再起動せずに現在のswappinessを設定できます。
sudo sysctl vm.swappiness=10
そしてテスト済み:
cat /proc/sys/vm/swappiness
-w
スイッチが変更を書き込むことになっているのは興味深いことです。それを書いた後、sysctl.confにデフォルト行を追加する必要はないと思うでしょう。