24.12. CPU モデルおよびトポロジー
qemu32 および qemu64 は基本的な CPU モデルですが、他に利用できる他のモデル (追加の機能を含む) もあります。それぞれのモデルとそのトポロジーは、ドメイン XML の次の要素を使って指定されます。
<cpu match='exact'>
<model fallback='allow'>core2duo</model>
<vendor>Intel</vendor>
<topology sockets='1' cores='2' threads='1'/>
<feature policy='disable' name='lahf_lm'/>
</cpu>図24.14 CPU モデルおよびトポロジーサンプル 1
<cpu mode='host-model'> <model fallback='forbid'/> <topology sockets='1' cores='2' threads='1'/> </cpu>
図24.15 CPU モデルおよびトポロジーサンプル 2
<cpu mode='host-passthrough'/>
図24.16 CPU モデルおよびトポロジーサンプル 3
<cpu> 要素が使用される場合があります。
<cpu> <topology sockets='1' cores='2' threads='1'/> </cpu>
図24.17 CPU モデルおよびトポロジーサンプル 4
<cpu mode='custom'> <model>POWER8</model> </cpu>
図24.18 PPC64/PSeries CPU モデルサンプル
<cpu mode='host-passthrough'/>
図24.19 aarch64/virt CPU モデルサンプル
表24.8 CPU モデルおよびトポロジー要素
| 要素 | 説明 |
|---|---|
<cpu> | これは、ゲスト仮想マシンの CPU 要件について説明するための主なコンテナーです。 |
<match> | ゲスト仮想マシンに提供される仮想 CPU を各種要件にどの程度一致させるかを指定します。トポロジーが <cpu> 内の唯一の要素である場合、match 属性を省略することができます。match 属性に使用できる値は、以下になります。
match 属性は省略でき、デフォルトで exact になることに注意してください。 |
<mode> | このオプションの属性は、ゲスト仮想マシン CPU をできるだけホスト物理マシン CPU に近づけるように設定しやすくするように使用できます。mode 属性に使用できる属性は以下になります。
|
<model> | ゲスト仮想マシンが要求する CPU モデルを指定します。利用可能な CPU モデルとそれらの定義の一覧は、libvirt のデータディレクトリーにインストールされた cpu_map.xml ファイルにあります。ハイパーバイザーが正確な CPU モデルを使用できない場合、libvirt は、CPU 機能の一覧を維持しつつ、ハイパーバイザーでサポートされる直近のモデルにフォールバックします。オプションの fallback 属性は、この動作を禁止するために使用できます。この場合、サポートされていない CPU モデルを要求するドメインを起動する試行は失敗します。fallback 属性のサポートされている値は、allow (デフォルト) と forbid です。オプションの vendor_id 属性は、ゲスト仮想マシンによって表示されるベンダー ID を設定するために使用できます。ID の長さは、ちょうど 12 文字分である必要があります。これが設定されていない場合、ホスト物理マシンのベンダー ID が使用されます。使用できる標準的な値は、AuthenticAMD と GenuineIntel です。 |
<vendor> | ゲスト仮想マシンによって要求される CPU ベンダーを指定します。この要素がない場合、ゲスト仮想マシンは、そのベンダーの如何にかかわらず、指定された機能に一致する CPU 上で実行されます。サポートされるベンダーの一覧は cpu_map.xml にあります。 |
<topology> | ゲスト仮想マシンに提供される仮想 CPU の要求されるトポロジーを指定します。3 つのゼロ以外の値を、ソケット、コアおよびスレッドに指定する必要があります。それぞれは、CPU ソケットの合計数、1 ソケットあたりのコア数、1 コアあたりのスレッド数になります。 |
<feature> | 選択した CPU モデルによって提供される機能を微調整するために使用されるゼロまたは 1 つ以上の要素を含めることができます。既知の機能名の一覧は、cpu_map.xml ファイルにあります。それぞれの feature 要素の意味は、以下の値のいずれかに設定する必要のあるそのポリシー属性によって変わります。
|
24.12.1. 指定 CPU に設定された機能の変更
手順24.1 CPU 機能の有効化および無効化
- まず、ゲスト仮想マシンをシャットダウンします。
virsh edit [domain]コマンドを実行して、ゲスト仮想マシンの設定ファイルを開きます。<feature>または<model>内のパラメーターを、属性値'allow'を組み込むように変更し、許可する機能を強制実行するか、または'forbid'を組み込むように変更し、機能のサポートを否定します。<!-- original feature set --> <cpu mode='host-model'> <model fallback='allow'/> <topology sockets='1' cores='2' threads='1'/> </cpu> <!--changed feature set--> <cpu mode='host-model'> <model fallback='forbid'/> <topology sockets='1' cores='2' threads='1'/> </cpu>
図24.20 CPU 機能の有効化および無効化の例
<!--original feature set--> <cpu match='exact'> <model fallback='allow'>core2duo</model> <vendor>Intel</vendor> <topology sockets='1' cores='2' threads='1'/> <feature policy='disable' name='lahf_lm'/> </cpu> <!--changed feature set--> <cpu match='exact'> <model fallback='allow'>core2duo</model> <vendor>Intel</vendor> <topology sockets='1' cores='2' threads='1'/> <feature policy='enable' name='lahf_lm'/> </cpu>図24.21 CPU 機能の有効化および無効化の例 2
- 変更が完了したら、設定ファイルを保存して、ゲスト仮想マシンを起動します。
24.12.2. ゲスト仮想マシンの NUMA トポロジー
<numa> 要素を使用して指定できます。
<cpu>
<numa>
<cell cpus='0-3' memory='512000'/>
<cell cpus='4-7' memory='512000'/>
</numa>
</cpu>
...図24.22 ゲスト仮想マシンの NUMA トポロジー
cpus は、ノードの一部である CPU または CPU の範囲を指定します。memory はノードメモリーをキビバイト単位で指定します (例: 1024 バイトのブロック)。それぞれのセルまたはノードには、0 から始まる昇順で cellid または nodeid が割り当てられます。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.