web-dev-qa-db-ja.com

swappinessを構成するにはどうすればよいですか?

Swappinessを設定するための、ステップごとの、シンプルで簡単な方法が必要です。

340
One Zero

Linuxカーネルには、swapinessと呼ばれるスワップファイルの使用頻度を制御する調整可能な設定があります。

zeroのswappiness設定は、100は、プログラムがほぼ瞬時にディスクにスワップされることを意味します。

Ubuntuシステムにはデフォルトの60が付属しています。これは、メモリ使用量がRAMの約半分である場合、スワップファイルがかなり頻繁に使用されることを意味します。以下を実行することにより、ご使用のシステムのswappiness値を確認できます。

one@onezero:~$ cat /proc/sys/vm/swappiness
60

4 GBのRAMがあるので、それを10または15に減らしたいと思います。その後、RAMの使用量がおよそ80または90パーセント。システムのスワップ値を変更するには、/etc/sysctl.confrootとして開きます。次に、この行をファイルに変更または追加します。

vm.swappiness = 10

変更を有効にするために再起動します。

システムの実行中に値を変更することもできます:

sysctl vm.swappiness=10

また、同じ効果を得るために再起動する代わりに、swapoff -aを実行し、次にswapon -aをrootとして実行してスワップをクリアすることもできます。

スワップ式を計算するには:

free -m (total) / 100 = A

A * 10

root@onezero:/home/one# free -m
             total       used       free     shared    buffers     cached
Mem:          3950       2262       1687          0        407        952
-/+ buffers/cache:        903       3047
Swap:         1953          0       1953

合計は3950/100 = 39.5 * 10 = 395です

つまり、10%(395 MB)のRAMが残っていると、スワップの使用が開始されます。


ヘルプ。Ubuntu。スワップ

交換性とは

Swappinessパラメータは、カーネルがプロセスを物理メモリからスワップディスクに移動する傾向を制御します。ディスクはRAMよりはるかに遅いため、プロセスがメモリから積極的に移動されすぎると、システムとアプリケーションの応答時間が遅くなる可能性があります。

  • swappinessの値は0〜100です。
  • swappiness=0
    • カーネルバージョン3.5以降:スワップを無効にします。
    • 3.5より古いバージョンのカーネル:物理メモリからのプロセスのスワップを可能な限り回避します。
  • swappiness=1
    • カーネルバージョン3.5以降:完全に無効にせずに最小限の交換可能性。
  • swappiness=100
    • プロセスを物理メモリから積極的にスワップし、スワップキャッシュに移動するようにカーネルに指示します。

http://en.wikipedia.org/wiki/Swappiness を参照してください。

Ubuntuのデフォルト設定はswappiness=60です。 swappinessのデフォルト値を減らすと、一般的なUbuntuデスクトップインストールの全体的なパフォーマンスがおそらく向上します。 swappiness=10の値が推奨されますが、自由に実験してください。


91%でスワップの使用を開始しました:

enter image description here 90%でRAMを使用するようにシステムとvmを構成したため、90%スワッピングはありませんでした。

その後、Firefox&Shutterのようなアプリケーションをいくつか開いたところ、RAMの使用量が上記90%であるため、スワップを開始しました。

503
One Zero