検索

37.3. 仮想メモリーパラメーター

download PDF

仮想メモリーのパラメーターは、/proc/sys/vm ディレクトリーにリスト表示されます。

利用可能な仮想メモリーパラメーターを以下に示します。

vm.dirty_ratio
パーセンテージの値です。システムメモリー合計の割合がこの値を超えると、システムは、pdflush 操作でディスクへの変更の書き込みを開始します。デフォルト値は 20 % です。
vm.dirty_background_ratio
パーセンテージの値。システムメモリー合計の割合がこの値を超えると、システムはバックグラウンドでディスクへの変更の書き込みを開始します。デフォルト値は 10 % です。
vm.overcommit_memory

大容量メモリーのリクエストを受け入れるか拒否するかを決定する条件を定義します。デフォルト値は 0 です。

デフォルトでは、カーネルは仮想メモリー割り当て要求が現在のメモリー量 (合計 + スワップ) に収まるかどうかをチェックし、大きな要求のみを拒否します。それ以外の場合、仮想メモリーの割り当ては付与され、これはメモリーのオーバーコミットが許可されることを意味します。

overcommit_memory パラメーターの値を設定します。

  • このパラメーターを 1 に設定するとカーネルはメモリーのオーバーコミット処理を行いません。これにより、メモリーがオーバーロードする可能性が向上しますが、メモリー集中型タスクのパフォーマンスが向上します。
  • このパラメーターを 2 に設定すると、カーネルは、利用可能なスワップ領域の合計と、overcommit_ratio で指定される物理 RAM の割合またはそれ以上のメモリーの要求を拒否します。これにより、メモリーのオーバーコミットのリスクが軽減されますが、物理メモリーよりも大きいスワップ領域があるシステムのみに推奨されます。
vm.overcommit_ratio
overcommit_memory2 に設定されている場合に考慮される物理 RAM の割合を指定します。デフォルト値は 50 です。
vm.max_map_count
プロセスが使用可能なメモリーマップ領域の最大数を定義します。デフォルト値は 65530 です。アプリケーションに十分なメモリーマップ領域が必要な場合は、この値を増やします。
vm.min_free_kbytes

予約済み空きページプールのサイズを設定します。また、Linux カーネルのページ回収アルゴリズムの動作を管理する min_pagelow_pagehigh_page のしきい値も設定します。また、システム全体で空き状態になる最小キロバイト数も指定します。これにより、各ローメモリーゾーンの特定の値を計算します。それぞれには、サイズに比例して予約済み空きページが多数割り当てられます。

vm.min_free_kbytes パラメーターの値の設定:

  • パラメーターの値を増やすと、アプリケーションのワーキングセットが効果的に減少します。そのため、カーネル駆動型のワークロードのみに使用するほうがよい場合があります。この場合、ドライバーバッファーはアトミックコンテキストで割り当てる必要があります。
  • パラメーターの値を下げると、システムでメモリーが不足した場合に、カーネルがシステム要求の処理をレンダリングできなくなる可能性があります。

    警告

    極端な値は、システムのパフォーマンスに悪影響を与えます。vm.min_free_kbytes が非常に低い値に設定すると、システムのメモリーを効果的に回収できなくなります。これにより、システムがクラッシュし、サービス割り込みやその他のカーネルサービスに失敗する可能性があります。ただし、vm.min_free_kbytes を設定すると、システムの回収アクティビティーが大幅に増大し、誤ったダイレクト回収状態により割り当てレイテンシーが発生します。これにより、システムがメモリー不足の状態に即座に入ります。

    vm.min_free_kbytes パラメーターは、min_pages というページ回収ウォーターマークも設定します。このウォーターマークは、ページの回収アルゴリズムを管理する他の 2 つのメモリー基準 (low_pages、および high_pages) を決定する要素として使用されます。

/proc/PID/oom_adj

システムがメモリー不足になり、panic_on_oom パラメーターが 0 に設定されている場合は、oom_killer 関数は、システムが復旧するまで、プロセスを強制終了し、最も高い oom_score を持つプロセスを開始します。

oom_adj パラメーターは、プロセスの oom_score を決定します。このパラメーターはプロセス ID ごとに設定されます。-17 の値は、そのプロセスの oom_killer を無効にします。そのほかの有効な値は、-16 から 15 までになります。

注記

調整したプロセスによって作成されたプロセスは、そのプロセスの oom_score を継承します。

vm.swappiness

swappiness 値 (0 から 200 まで) は、システムが匿名メモリープールまたはページキャッシュメモリープールからメモリーの回収を優先するレベルを制御します。

swappiness パラメーターの値の設定:

  • 値を高くすると、ファイルマップ駆動型のワークロードが優先され、RAM のアクティブにアクセスされるプロセスの匿名マッピングメモリーをスワップアウトします。これは、ストレージのファイルのデータに依存するファイルサーバーやストリーミングアプリケーションが、サービスリクエストの I/O レイテンシーを低減させるためにメモリーに駐在するのに便利です。
  • 値が小さいほど、ページキャッシュ (ファイルマップされたメモリー) を回収しつつ、匿名のマッピング駆動型ワークロードが優先されます。この設定は、ファイルシステム情報に大きく依存しないアプリケーション、数学的アプリケーションや数値計算アプリケーションなどの動的に割り当てられたメモリーやプライベートメモリーを大幅に使用するアプリケーション、QEMU のような一部のハードウェア仮想化スーパーバイザーにおいて有用です。

    vm.swappiness パラメーターのデフォルト値は 60 です。

    警告

    vm.swappiness0 に設定すると、匿名メモリーをディスクにスワップアウトする必要がなくなります。これにより、メモリーまたは I/O 集約型のワークロード下で oom_killer 関数によるプロセスの強制終了のリスクが高まります。

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.