検索

8.3. 単一の CPU を分離して、使用率の高いタスクを実行

download PDF

cpusets メカニズムを使用すると、SCHED_DEADLINE タスクに一連の CPU とメモリーノードを割り当てることができます。CPU 使用率の高いタスクと低いタスクが混在するタスクセットにおいて、使用率の高いタスクを実行する CPU を分離し、使用率の低いタスクを異なる CPU セットでスケジューリングすることで、すべてのタスクが与えられた runtime を満たすことが可能になります。

前提条件

  • システムの root 権限がある。

手順

  1. cpuset という名前の 2 つのディレクトリーを作成します。

    # cd /sys/fs/cgroup/cpuset/
    # mkdir cluster
    # mkdir partition
  2. ルート cpuset の負荷分散を無効にして、cpuset ディレクトリーに 2 つの新しいルートドメインを作成します。

    # echo 0 > cpuset.sched_load_balance
  3. クラスター cpuset で、利用率の低いタスクが CPU 1 から 7 で実行されるようにスケジュールし、メモリーサイズを確認し、CPU に exclusive という名前を付けます。

    # cd cluster/
    # echo 1-7 > cpuset.cpus
    # echo 0 > cpuset.mems
    # echo 1 > cpuset.cpu_exclusive
  4. 使用率の低いすべてのタスクを cpuset ディレクトリーに移動します。

    # ps -eLo lwp | while read thread; do echo $thread > tasks ; done
  5. cpuset という名前のパーティションを作成し、使用率の高いタスクを割り当てます。

    # cd ../partition/
    # echo 1 > cpuset.cpu_exclusive
    # echo 0 > cpuset.mems
    # echo 0 > cpuset.cpus
  6. シェルを cpuset に設定し、期限ワークロードを開始します。

    # echo $$ > tasks
    # /root/d &

    この設定では、パーティション化された cpuset ディレクトリーに分離されたタスクは、クラスター cpuset ディレクトリー内のタスクに干渉しません。これにより、すべてのリアルタイムタスクがスケジューラーの期限に間に合うようになります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.