検索

1.8. RHEL for Real Time のコンテナー調整

download PDF

主要な RHEL カーネルでは、リアルタイムグループスケジューリング機能 CONFIG_RT_GROUP_SCHED がデフォルトで有効になっています。ただし、リアルタイムカーネルの場合、この機能は無効になります。

CONFIG_RT_GROUP_SCHED 機能は、kernel-rt パッケージで使用される PREEMPT_RT パッチセットとは独立して開発され、メインの RHEL カーネル上のリアルタイムプロセスで動作することを目的としています。CONFIG_RT_GROUP_SCHED 機能は、レイテンシーのスパイクを引き起こすことが知られているため、PREEMPT_RT が有効なカーネルでは無効化されています。したがって、メインの RHEL カーネルで実行しているコンテナーでワークロードをテストする場合は、コンテナー内で SCHED_FIFO または SCHED_RR タスクを実行できるように、一部のリアルタイム帯域幅をコンテナーに割り当てる必要があります。

手順

  1. podman の --cpu-rt-runtime コマンドラインオプションを使用する前に、以下のグローバル設定を行います。

    # echo 950000 > /sys/fs/cgroup/cpu,cpuacct/machine.slice/cpu.rt_runtime_us

  2. CPU 分離の場合は、既存の推奨事項に従って RT ワークロード用にコアセットを確保してください。
  3. 分離した CPU コアのリストを使用して podman run --cpuset-cpus を実行します。
  4. 使用する NUMA (Non-Uniform Memory Access) メモリーノードを指定します。

    *podman run --cpuset-mems=number-of-memory-nodes

    これにより、NUMA ノード間のメモリーアクセスが回避されます。

  5. コンテナーで実行されているリアルタイムのワークロードに必要な最小量のメモリーがコンテナーの開始時に使用可能であることを確認するには、*podman run --memory-reservation=limit コマンドを使用します。

関連情報

  • podman-run(1) の man ページ
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.