Linux swapiness-カーネルVM設定の調整


9

これを読む前に、キャッシュの利点を理解していることに注意してください。未使用のラムは浪費されたラムであるというドグマに精通しています。

この質問は、前の質問から採用したものです。

LinuxキャッシュRAMの削除

その質問では、サーバーがRAMをどのように使用してキャッシュするかを調整することに興味がありました。システムはかなり動的なので、キャッシュされたファイルは実際にはあまり利益をもたらさないと私は信じています。さらに、我々は、プロセスのビデオファイルへの短時間でのラムの迅速アクセス大量に持っているサーバー上のコードを持っていると私は信じている私は、キャッシュからそれをクリアするというし、ラムの直接受け渡しからパフォーマンス上の利点が表示されますことをそれを渡す。

以下のファイルでデフォルト値の60を調整した経験があるかどうかを確認したいと思います(これはたまたまUbuntuサーバー上にあります)。

/proc/sys/vm/swappiness  

もしそうなら、あなたは何に影響を与えましたか?デフォルト値の60を30に置き換えると、スワッピングが減り、古くなったキャッシュがより多く再利用されるようになりますか?スワップを減らし、キャッシュの再利用を増やすために、0または100に近づきますか?

最後に、デフォルトが60に設定されている理由を誰かが知っていますか?

注:0に近い場合、LinuxはアプリケーションをRAMに保持し、キャッシュを拡張しないことを優先します。100に近い場合、Linuxはアプリケーションをスワップアウトし、キャッシュを可能な限り大きくすることを好みます。デフォルトは健康的な60です。-3dInfluenceのリンクをありがとう。

回答:


6

編集:それが短くて明確になるように答えを書き直しました:)

VMサブシステムが全体としてどのように機能して、調整可能変数の調整を開始するかを本当に理解する必要があります。そうしないと、期待した結果が得られない場合があります。この記事は、これらの設定がデスクトップ傾斜とどのように連携するかについてのかなり良い出発点です。

質問への回答が増えました。Swappinessは、VMサブシステムがプロセステーブルページをマップ解除してページングすることにより、つまりスワップとして再利用するタイミングを制御します。この調整パラメータは、プロセスページテーブルにマップされたメモリの%とswappinessの値が> 100の場合、VMサブシステムにスワップするページを探すように指示することで機能します。したがって、60に設定すると、システムはプロセスページから古いページのページングを開始します。システムのメモリの40%以上を使用している場合のテーブル。プログラムがキャッシュを犠牲にしてより多くのメモリを使用できるようにしたい場合は、swappinessの値を小さくする必要があります。また、/ proc / sys / vm / min_free_kbytesと/ proc / sys / vm / vfs_cache_pressureも確認してください。これにより、予約されているメモリの量とキャッシュの積極性も制御されます。


@ 3dinfluence-私はあなたが上で参照したその記事を研究してきました。素晴らしいリソース!
Patrick R

1
linuxinsight.com/proc_sys_vm_hierarchy.htmlは、各調整パラメータの機能について1〜2文で説明します。しかし、私は "Linuxサーバーのパフォーマンスチューニング"という本からswappinessがどのように機能するかについての情報を得ました
3dinfluence

+1感謝3dinfluence。これまでのところ、その本は非常に教育的でした。
Patrick R

それは素晴らしいことです。アプリケーションのパフォーマンスを向上させることができましたか?
3dinfluence 2010

パフォーマンスを向上させることができました。また、次のコマンドがtweeking中に役立つことがわかりました。#sysctl -w vm.swappiness = 40
Patrick R
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.