Proxmox (KVM) 上の特定の VM に専用の vCPU を割り当てる方法、またはそれが可能なシステムは何ですか?

Proxmox (KVM) 上の特定の VM に専用の vCPU を割り当てる方法、またはそれが可能なシステムは何ですか?

私がこのトピックについて見つけた情報は、さまざまな理由により古くなっていた、不完全だった、または不適切だったため、ここに投稿します。

私は長い間、特定の vCPU を特定の VM (最大限の CPU パフォーマンスと、CPU ブロッキング/コンテキスト スイッチの最小化が必要) にマッピングする方法を知りたいと思っていましたが、同じノードには固定コアにアクセスできない他の VM (特定の VM からのみアクセス可能である必要がある) があり、その CPU 割り当ては「デフォルトで」スケジューラによって実行されます。

私が現在選択しているシステムは Proxmox (KVM のみを使用) で、通常は pvetest ブランチの最新バージョンと最新の 3.X カーネルを使用します。

私の特定のニーズについては、現在のシステムでこれを行う方法を学ぶのではなく、VM への CPU 割り当ての高度な管理を可能にする他のシステムやハイパーバイザーへの切り替えを検討します。有料ソリューションの予算はほぼゼロで、最初からすべてを排除しているわけではありませんが、検討する価値は非常に低いはずです。

あらかじめお礼を申し上げます。また、この質問に対する(考えられる多くの)回答が他の多くの人々にとって役立つことを願っています。

この機能は、ほとんどの VM で必要な CPU 時間が短い一方で、確実に高い CPU 時間を確保する必要のある VM が 1 つ (またはいくつか) ある仮想化ホストのユーザー/管理者にとって役立つ可能性があります (理由は何であれ、私の場合は異なるオペレーティング システムを使用しているためです)。

答え1

proxmox にはすでに同様のオプションがいくつかあるようです。

https://forum.proxmox.com/threads/numa-config-option.21313/

はい、CPU ピンニング (アフィニティ) を利用します。NUMA を有効にすると、スケジューリング アルゴリズムが変更され、基盤となる物理 CPU 上の NUMA ノードが認識されるようになると理解しています。そのため、可能な限り、vCPU のスケジューリングを同じ NUMA ノード内に維持しようとします。

関連情報