みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

VMwareゲストOSとホストOSのメモリについて

64bitのWindows7に VMware player 3.1.4 をインストールして
ゲストOSとして Ubuntu 10.10 の64bit版をインストールしています。
今回の質問は VMware player の仮想マシンごとに設定できるメモリについてです。
現在の設定ではデフォルト(推奨)の512MBにしています。
しかしゲストOSでのパフォーマンスがやたら遅いため、この辺りの設定を変更したいのですが
ホストOSの操作に影響が出るようでは困ります。マシン自体のメモリは4GB積んでいます。
これを8GBまで増設したとして、メモリどれくらいの設定にするとホスト、ゲストともにバランスよく快適に操作できるようになるでしょうか?
質問が非常に抽象的だと思います。
例えばマシンのメモリを8GBに増設後、ゲストOSのメモリ割り当てをVMware制限の最大の約3GBにしたとします。
その場合ホストOSの32bitのアプリケーションはどのようにリソースが割り当てらるんでしょうか?
32bitのアプリケーションは最大で4GB(実際はもっと低い?)までしかメモリを認識できないと思いますが、
VMwareに約3GB専有されるので残りの1GBの中で動作するようなイメージでしょうか?
この辺りに詳しい方がいらっしゃれば仮想マシン、メモリ、32bit 64bit OSの事について体系的に教えて頂ければありがたいです。
よろしくお願いします。

【スペック等】
・物理メモリ → 現在4GB(8GBに増設予定)
・ホストOS → Windows 7 64bit
・ゲストOS → Ubuntu 10.10 64bit
・現在のゲストOSのメモリ設定 → 512MB(VMwareの推奨)
・BIOSのVTは有効にしてあります

投稿日時 - 2011-04-18 20:17:28

QNo.6677599

暇なときに回答ください

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

まず、最初に32ビットと64ビットの話から。(誤認されているようなので)

32ビットCPUとか64ビットCPUのビット数は一度に計算する桁数でアドレスとは無関係です。
大昔、Pentium ProというCPUが64GBメモリに対応し、それ以降のIntel 86系CPUはほぼその機能を継承しています。
※最低64GB以上のアドレス空間を持ってます。
ではなぜ4GBに制限されるという話がされるかというと、OSの制限です。
※Windowsはエディションによって強く制限をかけます。サーバ用の一部のエディションでは32ビットのOSであっても4GBを大きく越えるメモリに対応してます。逆にstarterはWindows7でさえ2GBに制限されてます。(XPのstarterは512M, Vistaのstarterは1Gに制限されてたと思います)

http://www.atmarkit.co.jp/fwin2k/win2ktips/1140maxmem/maxmem.html

※WIndows2000の32bit advanced serverでも8GBだし。

Ubuntuを32ビットで使う場合でも、PAEカーネル使えばメモリサイズの制限はほぼありません。


> しかしゲストOSでのパフォーマンスがやたら遅いため、この辺りの設定を変更したい

速度の上がらない原因はメモリ不足なのでしょうか。
仮想OS側は色々な制限があるのでメモリでない部分で速度の大幅な低下は避けられない部分もありますよ。(例えばビデオ、VESAを模倣したりしますのでビデオチップの本来持っている性能とは別のところで遅くなったりしますし。多くのハードウェアが標準的なデバイスのソフトウェアでの模倣になりますので何倍も遅くなる事もあります)


> その場合ホストOSの32bitのアプリケーションはどのようにリソースが割り当てらるんでしょうか?
> 32bitのアプリケーションは最大で4GB(実際はもっと低い?)までしかメモリを認識できないと思いますが、

32bitソフトの動かし方によって違いますが、メモリが潤沢にある状態なら関係ないかと思います。

投稿日時 - 2011-04-20 07:33:14

ANo.1

> これを8GBまで増設したとして、メモリどれくらいの設定にするとホスト、ゲストともに
> バランスよく快適に操作できるようになるでしょうか?

これまでホスト4GB/ゲスト512MBで、ホストのパフォーマンスに問題がなかったのであれば、
そこから4GB増設した分全部をゲストのメモリに割り当ててもホストのパフォーマンスが
落ちることはないと思います。
ただ、Ubuntuで何を動かしているのか知りませんが、そこまでメモリを必要とする
とは思えませんので、実際にUbuntuがどれくらいのメモリ使用量で動作しているのか
確認して、足りない分を追加割り当てしたのでよいと思います。


> ホストOSの32bitのアプリケーションはどのようにリソースが割り当てらるんでしょうか?
> 32bitのアプリケーションは最大で4GB(実際はもっと低い?)までしかメモリを
> 認識できないと思いますが、VMwareに約3GB専有されるので残りの1GBの中で
> 動作するようなイメージでしょうか?

違います。
64ビットOS上で8GBのメモリを搭載したのだったら、その8GBが有効利用されます。
8GBのうちVMWareが3GB使用したのだったら、残り(5GB - OS使用分)を他のアプリが
32ビットアプリか64ビットアプリかに関わらず、必要に応じて使用します。

投稿日時 - 2011-04-19 00:19:50

お礼

早速のご回答ありがとうございます。
Ubuntuでのメモリ使用量調べてみます。考えてみればホスト側からしてVMwareの起動が遅いですね。。。
ホストのパフォーマンスに問題がなかったと書きましたがホストの方にも問題があったのかもしれません。調べて何かあればまたここで質問してみます。

>違います。
>64ビットOS上で8GBのメモリを搭載したのだったら、その8GBが有効利用されます。
>8GBのうちVMWareが3GB使用したのだったら、残り(5GB - OS使用分)を他のアプリが
>32ビットアプリか64ビットアプリかに関わらず、必要に応じて使用します。
なるほどOSがきちんと割り振ってくれるんですね。実は8GBに増設して効果はあるのだろうか?と思っていたのですが、ある程度効果はありそうですね。メモリも安価になったので試してみます。
また何かあればよろしくお願いします。

投稿日時 - 2011-04-19 01:02:54

あなたにオススメの質問