17.8. メモリーページサイズの設定


システム管理者は、メモリーページサイズを設定することにより、ワークロード要件に合わせてより効率的なメモリー管理を特定のノードに実装できます。Node Tuning Operator は、パフォーマンスプロファイルを使用して、huge page とカーネルページサイズを設定する方法を提供します。

17.8.1. カーネルページサイズの設定

特定のノードのカーネルページサイズを設定するには、パフォーマンスプロファイルの kernelPageSize 仕様を使用します。メモリーを大量に消費する高パフォーマンスのワークロードには、大きなカーネルページサイズを指定してください。

注記

x86_64 または AMD64 アーキテクチャーのノードの場合、kernelPageSize 仕様には 4k のみを指定できます。AArch64 アーキテクチャーのノードの場合、kernelPageSize 仕様には 4k または 64k を指定できます。64k オプションを使用するには、リアルタイムカーネルを無効にする必要があります。デフォルト値は 4k です。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • OpenShift CLI (oc) がインストールされている。

手順

  1. PerformanceProfile リソースを定義する YAML ファイルを作成して、カーネルページサイズを設定するノードを対象とするパフォーマンスプロファイルを作成します。

    pp-kernel-pages.yaml ファイルの例

    apiVersion: performance.openshift.io/v2
    kind: PerformanceProfile
    metadata:
        name: example-performance-profile
    #...
    spec:
        kernelPageSize: "64k" 
    1
    
        realTimeKernel:
            enabled: false 
    2
    
        nodeSelector:
            node-role.kubernetes.io/worker: "" 
    3
    Copy to Clipboard Toggle word wrap

    1
    この例では、カーネルページサイズを 64k に指定します。AArch64 アーキテクチャーのノードには 64k のみ指定できます。デフォルト値は 4k です。
    2
    64k カーネルページサイズオプションを使用するには、リアルタイムカーネルを無効にする必要があります。
    3
    この例では、worker ロールを持つノードを対象とします。
  2. パフォーマンスプロファイルをクラスターに適用します。

    $ oc create -f pp-kernel-pages.yaml
    Copy to Clipboard Toggle word wrap

    出力例

    performanceprofile.performance.openshift.io/example-performance-profile created
    Copy to Clipboard Toggle word wrap

検証

  1. 次のコマンドを実行して、パフォーマンスプロファイルを適用したノードでデバッグセッションを開始します。

    $ oc debug node/<node_name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <node_name> は、パフォーマンスプロファイルを適用したノードの名前に置き換えます。
  2. 次のコマンドを実行して、カーネルページサイズがパフォーマンスプロファイルで指定した値に設定されていることを確認します。

    $ getconf PAGESIZE
    Copy to Clipboard Toggle word wrap

    出力例

    65536
    Copy to Clipboard Toggle word wrap

17.8.2. Huge Page の設定

ノードは、OpenShift Container Platform クラスターで使用される Huge Page を事前に割り当てる必要があります。Node Tuning Operator を使用し、特定のノードで Huge Page を割り当てます。

OpenShift Container Platform は、Huge Page を作成し、割り当てる方法を提供します。Node Tuning Operator は、パフォーマンスプロファイルを使用して、これをより簡単に行う方法を提供します。

たとえば、パフォーマンスプロファイルの hugepages pages セクションで、sizecount、およびオプションで node の複数のブロックを指定できます。

hugepages:
   defaultHugepagesSize: "1G"
   pages:
   - size:  "1G"
     count:  4
     node:  0 
1
Copy to Clipboard Toggle word wrap
1
node は、Huge Page が割り当てられる NUMA ノードです。node を省略すると、ページはすべての NUMA ノード間で均等に分散されます。
注記

更新が完了したことを示す関連するマシン設定プールのステータスを待機します。

これらは、Huge Page を割り当てるのに必要な唯一の設定手順です。

検証

  • 設定を確認するには、ノード上の /proc/meminfo ファイルを参照します。

    $ oc debug node/ip-10-0-141-105.ec2.internal
    Copy to Clipboard Toggle word wrap
    # grep -i huge /proc/meminfo
    Copy to Clipboard Toggle word wrap

    出力例

    AnonHugePages:    ###### ##
    ShmemHugePages:        0 kB
    HugePages_Total:       2
    HugePages_Free:        2
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       #### ##
    Hugetlb:            #### ##
    Copy to Clipboard Toggle word wrap

  • 新規サイズを報告するには、oc describe を使用します。

    $ oc describe node worker-0.ocp4poc.example.com | grep -i huge
    Copy to Clipboard Toggle word wrap

    出力例

                                       hugepages-1g=true
     hugepages-###:  ###
     hugepages-###:  ###
    Copy to Clipboard Toggle word wrap

17.8.3. 複数の Huge Page サイズの割り当て

同じコンテナーで異なるサイズの Huge Page を要求できます。これにより、Huge Page サイズのニーズの異なる複数のコンテナーで構成されるより複雑な Pod を定義できます。

たとえば、サイズ 1G2M を定義でき、Node Tuning Operator は以下に示すようにノード上に両方のサイズを設定します。

spec:
  hugepages:
    defaultHugepagesSize: 1G
    pages:
    - count: 1024
      node: 0
      size: 2M
    - count: 4
      node: 1
      size: 1G
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat