2.13. システムのパーティション設定


リアルタイムチューニングの主要な手法の 1 つが、システムの分割です。つまり、システムで実行している 1 つまたは複数のリアルタイムアプリケーションを排他的に使用するために、CPU コアのグループを分離します。最善の結果を得るには、CPU トポロジーを考慮して、2 次キャッシュと 3 次キャッシュの共有を最大化するために、同じ非均一メモリーアクセス (NUMA) ノードに含まれるコアに配置されるようにする必要があります。lscpu および tuna ユーティリティーは、システム CPU トポロジーを決定するために使用されます。Tuna GUI を使用すると、CPU を動的に分離し、スレッドをある CPU から別の CPU に移動して、パフォーマンスへの影響を測定することができます。
パーティション設定がシステムのレイアウトとアプリケーションの構造に基づいて判断されたら、起動時に自動的にパーティションを設定する手順を説明します。そのためには、tuned-profiles-realtime パッケージによって提供されるユーティリティーを使用します。RedHat EnterpriseLinux for Real Time パッケージがインストールされると、このパッケージがデフォルトでインストールされます。tuned-profiles-realtime を手動でインストールするには、root として次のコマンドを実行します。
~]# yum install tuned-profiles-realtime
Copy to Clipboard Toggle word wrap
tuned-profiles-realtime パッケージは、追加のユーザー入力を必要とせずにブート時にパーティショニングやその他のチューニングを可能にする、tuned リアルタイムプロファイルを提供します。2 つの設定ファイルにより、プロファイルの動作が制御されます。
  • /etc/tuned/リアルタイム変数.conf
  • /usr/lib/tuned/realtime/tuned.conf
realtime-variables.conf ファイルは、分離する CPU コアのグループを指定します。CPU コアのグループをシステムから分離するには、次の例のように、isolated_cores オプションを使用します。
# Examples:
# isolated_cores=2,4-7
# isolated_cores=2-23
#
isolated_cores=1-3,5,9-14
Copy to Clipboard Toggle word wrap
上記の例では、プロファイルは CPU 1、2、3、5、9、10、11、12、13、および 14 を分離 CPU カテゴリーに配置します。これらの CPU のスレッドのみが、コアにバインドされるカーネルスレッドです。これらのカーネルスレッドは、移行スレッドやウォッチドッグスレッドなどの特定の状態が発生する場合にのみ実行されます。
isolated_cores 変数が設定されたら、tuned-adm コマンドでプロファイルをアクティブ化します。
~]# tuned-adm profile realtime
Copy to Clipboard Toggle word wrap
プロファイルは ブートローダー プラグインを使用します。このプラグインを有効にすると、Linux カーネルコマンドラインに以下のブートパラメーターが追加されます。
isolcpus
realtime-variables.conf ファイルにリストされている CPU を指定します
nohz
アイドル状態の CPU のタイマーティックをオフにします。デフォルトでは オフ に設定されています。
nohz_full
CPU 上に実行可能なタスクが 1 つしかない場合に、CPU のタイマーティックをオフにします。nohz オン に設定する必要があります。
intel_pstate=disable
Intel のアイドルドライバーが電源状態および CPU 周波数を管理しないようにする
nosoftlockup
カーネルがユーザースレッドのソフトロックアップを検出しないようにする
上記の例では、カーネルブートコマンドラインパラメーターは以下のようになります。
isolcpus=1-3,5,9-14 nohz=on nohz_full=1-3,5,9-14 intel_pstate=disable nosoftlockup
Copy to Clipboard Toggle word wrap
プロファイルは、tuned.conf[script] セクションで指定された script.sh シェルスクリプトを実行します。このスクリプトは、sysfs 仮想ファイルシステムの次のエントリーを調整します。
  • /sys/bus/workqueue/devices/writeback/cpumask
  • /sys/devices/system/machinecheck/machinecheck*/ignore_ce
上記の ワークキュー エントリーは分離された CPU マスクの逆に設定され、2 番目のエントリーはマシンチェック例外をオフにします。
このスクリプトは 、/etc/ sysctl.conf ファイルに次の変数も設定します。
kernel.hung_task_timeout_secs = 600
kernel.nmi_watchdog = 0
kernel.sched_rt_runtime_us = 1000000
vm.stat_interval = 10
Copy to Clipboard Toggle word wrap
このスクリプトは、Tuna インターフェイスを使用して、分離された CPU 番号上の非バインドスレッドを分離された CPU から移動します。
さらに調整するには、デフォルトの /usr/lib/tuned/realtime/script.sh をコピーして変更し、tuned.conf JSON ファイルを変更したスクリプトを指すように変更します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat