• ベストアンサー

KVMで提供できる仮想マシンの数とCPUによる制限

KVMでなるべく多くの仮想マシンを動かしたいので、メモリを多く積みました。 CPUはi7-4770という4コア・8スレッドひとつのみです。 この環境で10台くらい軽いLinuxディストリビューション(LXPup)を同時に動作させたいのですが、もしかして4台までしか、コア数と同じだけしか動作させられないのでしょうか? また、ちょっと本題とは離れますが、LXpupではプログラムのインストールはどうやるのですか?Debianタイプ?それともFedoraタイプ?どちらでもない気がして思案しています。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5061/13226)
回答No.1

vCPU 数の合計が物理コア数を上回っても動作します。 ただ、VMがCPUをフル稼働させるような動作をしても物理CPUが追いつけませんから、動作が重くなります。

piyo-maru7
質問者

お礼

ご回答ありがとうございます。物理コア数は気にしなくてもよいのですね。 LINUX・UNIXはマルチユーザー接続が可能なのは知っていましたが、CUI環境ならと勝手に決めつけていました。でもVNCを介してのGUI環境でも動作するらしいことを知りました。 ならば、VMインスタンスを10台分用意するよりも、VM一台に対してCPUコアを一つずつ割り当てて、4コアですから4台のVMに対して(VNCで)マルチユーザー接続させたほうがホストPCのリソースをより効果的に利用できる気がします。(どちらにしても物理コア数を上回るユーザーがいますし) なんとなくですが、VMを一台だけにして最大メモリと4コアすべてを割り当ててマルチユーザー環境を作るのでは、うまくCPUを使ってくれないような気がしています。 また、ユーザーがそこで行うのはExcelやPowerPointなどの文書編集とインターネット閲覧だけです。 いかがでしょうか?もしよかったら再度教えてください。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5061/13226)
回答No.2

> また、ユーザーがそこで行うのはExcelやPowerPointなどの文書編集とインターネット閲覧だけです。 この利用で仮想化を行う理由はなんでしょう。 1台の物理マシンに直接OSをインストールして、複数ユーザーがVNCでアクセスするだけでいいんじゃないでしょうか。 仮想化しても物理マシン以上の性能は出ないですし、どちらかと言うとKVMが消費するリソース分だけ無駄が出ている気がします。

piyo-maru7
質問者

お礼

ご回答ありがとうございます。 どうもGUIによる複数ユーザーの利用について掴みきれていないのかもしれません。この一台の物理マシンで、VPNアクセスする20ユーザーをさばくことができればそれだけで済みますよね。苦労してKVMを立ち上げた意味は無かったのかも… 利用の理由は、インターネット規制の厳しい国のユーザ達がおり、社内ネットワークを踏み台にすることによって特定のサイトにアクセスさせるためです。また、インターネットサイト上でデータのやり取りもあります。今はインターネットブラウザとOfficeソフトを編集するためのWPS(キングソフト)、VNCを導入したところです。 ちなみにこのような利用に適したディストリビューションはありますでしょうか?軽ければどれでも大してかわりませんか?

関連するQ&A

  • 仮想マシンに割り当てられるコア数について

    仮想マシン一般でコアを割り当てる時に、実コアでなく CPUのスレッド数を上限にして割り当てても問題ないでしょうか? 4コア8スレッドであれば、 4を上限とするのか、8を上限として良いのかという事になります。 VirtualBox, VMWare等種類により仕様が違う場合は 差異についてもお伺いできますと幸いです。 詳しい方のご回答をお待ちしております。

  • 物理サーバへ導入可能な仮想マシンの最大数について

    大学での研究のため、1台の物理サーバにRHEL6を入れて、その環境の上にさらにRHEL6の仮想マシンを30台前後導入しようとしています。 導入予定の物理マシンのCPU、メモリ容量は以下のとおりです。 CPU:Xeon E5-2670(2.60GHz、8コア・16スレッド、2プロセッサー) メモリ:32GB 確認させていただきたいのは以下の2点です。 (1)CPUがハイパースレッディングに対応しているので、仮想マシン一台あたりに仮想CPUを一つ割り振れば、32スレッド分つまり32台分の仮想マシンを1台の物理サーバに構築可能ということか? (メモリ容量はRHEL6推奨の1GB割り当てる予定。それぞれのマシンではマルチタスクを処理したりといった予定はありません。基本的な処理のみで十分な見込みです。) (2)ホストの処理に余力を残すため。メモリ容量、CPUの限界まで仮想マシンを導入しないほうがよいのか?その場合、どの程度メモリ、CPUに余裕を持たせればよいのか? (ホストには特に処理をさせる予定はありません。) 以上、2点について確認させてください。 よろしくお願いします。

  • サーバ仮想化におけるCPUコアについて

    こんばんは。まだ勉強中なのですが、 サーバ仮想化を行う時のCPUのコアについて教えてください。 たとえば、 6Core/12スレッドのCPUを2個搭載します。 ハイパーバイザーはVMware vSphere5またはHyper-Vを使います。 この時、計12Core有していますので、 仮想マシンに対しては、12コアから各々割り当てていくということを認識していますが(ESX等が使う分は置いといて) 1.ハイパースレッドが有効なら、2倍の計24コアいけるということでしょうか。 2.実際このあたりを考慮する際はあくまで物理コアをもとに設計をするのでしょうか。 3.上記のとおりとすれば性能的には落ちるよう感じてしまいますが実際はどうなんでしょうか。 そもそも考え方が間違っていればご教示頂ければ幸いです><

  • お勧めの仮想マシンは?

    フリーで利用でき、動作も軽快な仮想マシンは何でしょう? ホスト側にVista、ゲスト側にXPや98、Linux系を考えてます。

  • 自宅のPCでUSBメモリにLinuxをインストールしたとします。

    自宅のPCでUSBメモリにLinuxをインストールしたとします。 ディストリビューションはDebianとか、fedoraとかなんでもいいんですが、いわゆる1CDLinuxではないものを使用したとします。 これをマンガ喫茶とかで起動することに問題はないですか? あるいは自宅の別のマシンで起動させた場合に問題は起きてきませんか?

  • ディストリビューションについての疑問

    ディストリビューションについて疑問があります。 私は、新し目の開発環境が欲しくてfedoraを使っていますが、 例えば、Debianのような枯れた、あるいは更新の遅いディストリビューションを 使っている人は、古い開発環境で満足しているのでしょうか? あるいは仮想環境で新しいのを使ってる・・・?野良ビルド・・・? 枯れた、安定したディストリビューションで開発してる人は、 実際どうしているのか、どうしてそのディストリビューションを選んだのか、 教えて欲しいです。

  • KVMでWINDOWSを使用したい

    まったくのLinux初心者ですが,何とか挑戦したいと思います。 KVMという仮想環境があると知り興味を持っています。 最終的にはMS-DOS環境を構築したいのですが, ムリであれば,WINDOWS 98SEでもかまいません。 このことはKVMで可能でしょうか? また,可能であれば,そのことがもっとも容易なディストリビューションはどれでしょうか? 情報が得やすいということも含めてお願いします。 どうか,ご教示お願いします。

  • Hyper-VでのCPU割り当て

    Hyper-VでのCPUの割り当てについて教えてください。 ホスト側のCPUが8コア、16スレッドだった場合、 仮想マシンの設定にて、   論理プロセッサの数:2 と設定したとします。 これは、ホスト側の2コアを意味するのでしょうか? それとも、2スレッドになるのでしょうか? また、使用するソフトの動作環境が2コア推奨となっていた場合は、 2コアと2スレッドのどちらを割り当てるべきなのでしょうか? (こちらは、そのソフトにより違ってくるのかもしれませんが) すみませんが、よろしくお願いします。

  • 勉強を兼ねてサーバ構築・・・おすすめのディストリビューションは?

    Linuxの勉強を兼ねて (unix系についての知識はlsなど多少コマンドを知っているだけです・・・) Linuxでサーバを立ててみようと考えているのですが、 (サーバを立てた経験はありません) どのディストリビューションを選択するのがよいでしょうか? fedora core 6かdebianあたりにしようかなーと思っているのですが、 どうもそれぞれの特徴がつかめきれず、決め手がなくて困っています。

  • マルチコア上のLinux環境にて、スレッドを任意のコアに割り当てることは可能か?

    こんにちは。cstepと申します。 Intel Core 2 Quad(コア数x4)のマシン上の ReaHat Linux 9(Kernel 2.4.20-8)環境で、pthread(glibc-2.3.2-11.9, NPTL 0.29, gcc 3.2.2)を使用したマルチスレッド・プログラミングをしています。 各スレッドのコア割り当てを(OSの自動スケジューリングではなくて)手動で固定的に割り当てることは可能でしょうか? 可能な場合それを実現するAPIや実現方法をご教授いただけますでしょうか。 例えば、8つのスレッドからなるプログラムだとした場合、 ・スレッド1と5 → コア1に割り当て ・スレッド2と6 → コア2に割り当て ・スレッド3と7 → コア3に割り当て ・スレッド4と8 → コア4に割り当て というふうに、各スレッド(1~8)を任意のコア(1~4)に固定的に割り当てて動作させたいと考えております。 Windowsの場合は、SetThreadAffinityMask() または SetThreadIdealProcessor() といったAPIを使うことで上記の要求は可能かと思いますが、Linuxでの方法が分からず、質問させていただきました。 よろしくお願い致します。