web-dev-qa-db-ja.com

VM上のプロセッサの数を安全に減らすことはできますか?

物理サーバーから作成された仮想マシンがいくつかあります。これらのいくつかは(私の意見では)不適切な数のプロセッサを持っています-たとえば、内部でのみアクセスされ、4つのプロセッサが割り当てられたVMで実行されているWebアプリケーションがあります。これは最高です私たちのVMのスペックはありますが、他にもスペックが多すぎると思われるものがあります。

私が理解しているように、ハイパーバイザーは、このVMにプロセッサー時間を割り当てるときに、ホストマシンで4つのプロセッサーが解放されるまで待機するため、パフォーマンスが低下する可能性があります。また、ホスト間でVMを移行しようとすると、問題が発生します。これらは公正な仮定ですか?

サーバー自体を見ると、4つのプロセッサが必要な理由はわかりません。たまたま、インストールされていた物理サーバーにその数のプロセッサが搭載されていました。

したがって、問題は、このVM上のプロセッサの数を減らすことにはどのようなリスクがあるのか​​ということです。

いくつかの詳細:

VMware ESX 3.5は、8コアおよび20Gbのサーバーで実行されています。上記の例のVMには、4つのプロセッサと3Gb RAMが割り当てられています。VMのサーバーOSはWindowsServer 2003 Standard SP2(R2ではありません)です。

4
dunxd

唯一の深刻な問題は、マルチコア(つまり、2つ以上)からシングルコアに移行することから生じる可能性があります。 Windows 2000、XP、および2003(Vista、2008、または7についてはよくわかりません)は、シングルコアの場合とは異なるカーネルをマルチコアに使用していました。とは言うものの、それはおそらく、物事が完全に爆発するのではなく、ある種のパフォーマンスのペナルティになるでしょう。

重要なアプリケーションでプロセッサアフィニティも設定されていないことを確認します。これにより、1日が台無しになる可能性があります。ここを参照してください: http://forums.whirlpool.net.au/archive/73518 または https://web.archive.org/web/1/http://articles。 techrepublic%2ecom%2ecom/5100-10878_11-6168870.html

編集:同じことがLinuxにも当てはまりますが、SMPコアの問題は、終止符の問題ではなく、単にパフォーマンスの問題の1つです。一方、Linuxは、プロセッサ親和性を永続的に設定する方がはるかに簡単です。 http://www.cyberciti.biz/tips/setting-processor-affinity-certain-task-or-process.html を参照してください。

5
Devnull

はい、あなたの仮定は正しいです。4つのvCPUでVMの実行をスケジュールするには、ESXスケジューラーに4つの使用可能なコアが必要です。したがって、そのうちの2つまたは3つだけが実行されると、まったく実行されません。 VMが実際にそれらをどのように使用するかに関係なく、利用可能です。ゲストO.S.実行中のスレッドは1つだけかもしれませんが、使用可能な空きコアが十分にない場合、ESXスケジューラーはVMを実行できません。

VCPUの数を減らすことは一般的に安全な操作ですが、これはゲストO.S.に強く依存し、実際には(仮想)ハードウェアの変更に対処する必要があります。最近のWindowsおよびLinuxシステムでは、通常、これに問題はありません。

3
Massimo