Linuxメモリ管理でswappinessを構成する方法は?


11

swappinessパラメータは、カーネルがプロセスを物理メモリからスワップディスクに移動する傾向を制御します。デフォルト設定とは何ですか?全体的なパフォーマンスを向上させるためにそれを構成する方法


3
swappinessを変更した後、swapを空にしswapoff -aてやり直すと便利です。serverfault.com/a/354384/203035
ニモ

回答:


10

Linuxカーネルは、スワップを制御する調整可能な設定を提供します

$ cat /proc/sys/vm/swappiness
60  

/etc/sysctl.confルートとして開きます。次に、次の行を変更するか、ファイルに追加します。

vm.swappiness = 10

swappiness値を一時的に変更するには、次のコマンドを試してください:

$ echo 50 > /proc/sys/vm/swappiness

1
「全体的なパフォーマンスを向上させるためにそれを構成する方法」にはどのように答えますか?
techraf 2016

スワップは、使用可能なRAMが不足している場合に発生するため、システムのパフォーマンスが遅い場合に必要です。スワップがない場合でも、システムの速度が低下します(アプリケーションがクラッシュする場合もあります)。したがって、物事を単純化するために、スワップが発生するのは、システムが逆転するのではなく、行き詰まっているためです。場合によっては、その日を節約することもできます。
雑種'25

2
sudo sysctl -p /etc/sysctl.conf変更を有効にするためにも必要ではありませんか?
pkaramol 2018年

11

Swappiness、ウィキペディアから

この値は仮想ファイルで設定できます/proc/sys/vm/swappiness 。前述の値は、スワップスペースの使用方法を決定します。以下は、意図と値です。

vm.swappiness = 0   # Swap is disabled. In earlier versions, this meant that the kernel would swap only to avoid an out of memory condition, but in later versions this is achieved by setting to 1.
vm.swappiness = 1   # Kernel version 3.5 and over, as well as kernel version 2.6.32-303 and over: Minimum amount of swapping without disabling it entirely.
vm.swappiness = 10  # This value is sometimes recommended to improve performance when sufficient memory exists in a system, this value *10* could be considered for the performance being expected. 
vm.swappiness = 60  # The default value.
vm.swappiness = 100 # The kernel will swap aggressively.

実際には必要性にも依存しますが、利用可能な物理メモリが十分である場合、スワップ領域の大きな必要性はないかもしれません。Laymanの用語では、デフォルト値を変更する必要はないでしょう60


@techrafが回答を更新しました。
Keyshov Borate 2016

1
VMでは、万が一に備えてそれを10に変更することをお勧めします。
Rui F Ribeiro

2

RedHat / CentOSでは、デフォルト値は60です。
「パフォーマンスを向上させるために」は非常に広い用語です。どのようなパフォーマンスを改善しようとしていますか?

メモリ不足の問題がありますか?
空きメモリ/キャッシュメモリがまだある場合、システムはスワップしますか?

Linuxでは、空きRAM =無駄なRAMなので、ほとんどすべての空きメモリがディスクキャッシュに使用されます。
swappiness = 60の場合、未割り当てのRAMに関係なく、メモリ内のページが長期間アクセスされなかった場合にSWAPに移動されることがあります。
一部のメモリページをSWAPに移動することは、必ずしも悪いことではありません。

より詳細な回答を得るには、問題をさらに詳しく説明してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.