私が読んだすべての情報源(openvz wiki、さまざまなメーリングリスト、フォーラムなど)によると、cpuunits設定の値は相互に関連しています。したがって、すべてが等しく、システムがビジーの場合、すべてが同じCPUシェアを受け取ります。
しかし、それでも何かが私を困惑させます。「ノード/ホストの力」を示すツール「vzcpucheck」があるのはなぜですか。
Current CPU utilization: 18000
Power of the node: 880001
すべての設定が相対的なものであるのに、なぜ絶対数があるのですか(必要ですか)?
これらの2つの設定はまったく同じになるべきではありませんか?
ve1: 1
ve2: 1
ve3: 1
= 3
ve1: 293334
ve1: 293334
ve1: 293334
= 880001 (power of the node)
違いは何ですか?
CPUユニットはCPU優先です。 CPU優先度は、任意の時点で使用可能なCPU処理能力の合計よりも多くを必要とする複数のVPSアカウントがある場合に機能します。
例としては、2つの架空のVPSアカウント、800CPUユニットのVPS-Aと400CPUユニットのVPS-Bがあります。両方のVPSアカウントが同時にCPUの100%を要求する場合、800は400の2倍であるため、VPS-AはVPS-Bが取得するCPU時間の2倍を取得します。
ハードウェアノード上の他のVPSアカウントが必要としない場合でも、VPSはCPUの100%を取得できますが、別のVPSがCPU時間を必要とすると、その割合は低下します。
したがって、コンテナが本当に保証された量のCPUを取得するシステムをセットアップする場合は、オーバーサブスクライブしないようにし、CPUUNITをパワーに対して慎重にカウントする必要があります。慎重にノード。ノードの能力により、単一のCPUUNITの価値を計算できます(オーバーサブスクライブしない場合)。たとえば、30 CPUUNITの3hgzコンピュータは、1ユニットが0.1 ghzの価値があることを意味します(これらは実数ではありません)。したがって、これをガイドとして使用できます。1つのVMに1 GHzが必要で、別のVMに専用の1.5 GHzが必要な場合は、それに応じて10と15を使用します。合計で30cpuを超えるユニットを割り当てないように注意してください。割り当てない場合、10は1Ghzの保証を表しません。
ノードの能力は本当にこの問題を解決することです:両方とも3GHzである2つのCPUは、技術の進歩により、1秒あたり同じ量の計算を実行しない可能性があります /異なるアーキテクチャ。したがって、異なるノードは、同じCPU頻度を持っていても、多かれ少なかれコンテナを処理できる可能性があります。これが、AmazonがGHzではなくECUの観点からコンピューティング機能を宣伝している理由です。
コンテナが超えることのできないCPUのパーセンテージであるcpulimitを使用する方が簡単な場合があります。コアが2つある場合は、最大200%の値を使用できます。ただし、以前の設定は「バースト付きの専用CPU」ですが、これは「専用CPU」を設定する方が簡単です(ただし、パーセンテージをオーバーサブスクライブしないようにする必要があります)
CPUユニットは「保証CPUユニット」として読み取る必要があるため。それは本当の意味を明らかにします。
各VEは潜在的にノードのすべての電力から他のすべてのVEに対して保証されているすべてのCPU電力を差し引いたものにすることができます。