スワップ性を変更するには再起動する必要がありますか?

スワップ性を変更するには再起動する必要がありますか?

整理したら交換性値が別の値(60から0など)に変更された場合、変更を適用するには常にコンピュータを再起動する必要がありますか?修正しても:

sysctl -w vm.swappiness=0

答え1

あなたが提供したWikipediaのページにすべてがよく説明されています。

# 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%のシェアでスワップを開始することを意味します)を使用します。 )。

/etc/sysctl.conf変更を永久に適用するには、次の行を追加する必要があります。

vm.swappiness = 10

今、あなたがよりよく知っていることを願っています!

答え2

変更を適用するにはコンピュータを再起動する必要がありますか?

実際にはその逆です。再起動すると、交換がデフォルト値にリセットされます。再起動後も続行するには、スタートアップスクリプトにディレクティブを含めるか、Wikipediaのドキュメントで推奨される方法を使用して追加する必要があります。

vm.swappiness = ??

使用したい値はどこに/etc/sysctl.conf(または/etc/sysctl.dファイル)ありますか???単にこのコンテンツを追加しても、その時点では変更が発生しないことに注意してください。

答え3

許可された回答は正確ですが、誤って他の設定を上書きしないように別々の "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

または、交換性を含むすべての設定を適用します。

# sysctl -p /etc/sysctl.d/*

確認してください:

# sysctl vm.swappiness
vm.swappiness = 10

答え4

通常、ユーザーが行った変更はsysctlプレフィックスが付いたファイルに移動するため、60-ファイル名は必要です。設定値を強制的に読み直すには、/etc/sysctl.d/60-swappiness.confrootとして実行する必要があります(再起動は不要)。service procps start

関連情報