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は有効にしてあります

このQ&Aに関連する最新のQ&A

A 回答 (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/1140m …

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

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


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

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


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

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

> これを8GBまで増設したとして、メモリどれくらいの設定にするとホスト、ゲストともに


> バランスよく快適に操作できるようになるでしょうか?

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


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

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

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

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

お礼日時:2011/04/19 01:02

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qメモリ増設をしました。メモリ容量を確認したのですが確認方法が分りませんでした。ご存知の方教えてください。

メモリ増設をしました。メモリ容量を確認したのですが確認方法が分りませんでした。

パソコンは富士通のWINDOWSXP(FMV-BIBILO-NB50M)です。

メモリ増設をしたのは初めてです。

初めに512MBが増設されていました。

メモリを取り付けたのは1GBです。

メモリ確認画面で確認したところ次のように表示されていました。

サポート情報の文字上に物理アドレス拡張、この文字の上に1.40GHz,
1.43GB RAMと記載されていました。

私はメモリ取り付けに成功したと言えますか?

ご存知の方、ご教授おねがいします。



ご存知の方教えてください。

Aベストアンサー

スタート、マイコンピューターの順にクリックします
マイコンピューターが開きます
左側にシステムのタスクというのがあります
その中の「システム情報を表示する」をクリックします
システムのプロパティーが表示されます
その中のコンピューターという欄にCPUとメモリーが表示されます

システム情報を表示する、がないときはシステムのタスクの右にある矢印をクリックしてください
システムの情報が表示されていないときは「全般」をクリックしてください

QホストOSの無線LAN接続をゲストOSで使えるか?

ホストOSの方で、MACアドレス認証のフレッツスポットを使っています。
ゲストOSをブリッジでつなぐと、別のIPアドレスとなり無線LANが使えません。
NATなら同時に繋がります。ブリッジのゲストOSから共有でホストオSのネットワークを
使って、インターネットができませんか?ホストOSはWINDOWS7 ゲストOSはXPです。

Aベストアンサー

ゲストOSでは仮想のネットワークアダプターを使用してネットワークに繋ぐので
MACアドレスも異なります。そのため、MACアドレスも異なっているので
MACアドレス認証では無理だと思います。
実際、IPCONFIG /ALLで確認してもMACアドレスが違うことは確認できます。

Qメモリの増設数値確認について

マイコンピューターのプロバティでメモリ確認をいたしますが、メーカー純正以外の他のメーカーのメモリで増設した場合に、プロバティでメモリを確認しても
増設されたメモリ数が表示されない事があるのでしょうか?教えてください。

Aベストアンサー

RZ350RRさんの回答通り、純正であろうとサードパーティ製であろうと、
メモリ容量は問題なく表示されます。
 
ノートPCの場合、スロットが細いので、目視で問題なく挿さっている
ように見えても、実際は接触が甘いケースがあります。
一般的なS.O.DIMMの場合、
1)まず斜めに挿し込み、その時点で確実に押し込む
2)メモリを寝かし、爪で固定する
特に1)が重要なのでした。

あと、メモリが対応しているかどうか(仕様、容量)もしっかり
確認してください。同じように見えて違う仕様の製品もあります。
メモリメーカーの対応情報を確認すると確実です。
http://buffalo.melcoinc.co.jp/search/pc/
http://ss.iodata.jp/Matching
 
あとは・・・メモリモジュールが不良の可能性もあります。
大半の場合正常に起動しませんが、PCが正常に起動しても
メモリとして動作していない場合、容量が増えないということは
起こりえます。

参考URL:http://buffalo.melcoinc.co.jp/search/pc/

RZ350RRさんの回答通り、純正であろうとサードパーティ製であろうと、
メモリ容量は問題なく表示されます。
 
ノートPCの場合、スロットが細いので、目視で問題なく挿さっている
ように見えても、実際は接触が甘いケースがあります。
一般的なS.O.DIMMの場合、
1)まず斜めに挿し込み、その時点で確実に押し込む
2)メモリを寝かし、爪で固定する
特に1)が重要なのでした。

あと、メモリが対応しているかどうか(仕様、容量)もしっかり
確認してください。同じように見えて違う仕様の製品もあります。...続きを読む

QWindows7 64Bitフリーズしまくり!

Windows7 64Bit NEC(メモリー4G)を1週間位しか使用していなのに
フリーズしまくります。
Outlookの受信をダブルクリックで開こうとすると『応答なし』

IEでネットを少し回覧しただけで『応答なし』・・・・!

それと、PCを立ち上げるたびに『ゴミ箱がこわれています』????

いったいどうなっているのでしょうか?
何か解決方法をお願いします。。。

Aベストアンサー

>いったいどうなっているのでしょうか?

Windows 7 64bitの問題というよりは何らかの不具合が発生したパソコンを買っちゃっただけかと。

>何か解決方法をお願いします。。。

まずは必要なデータをバックアップしてからリカバリしてみましょう。
それでも直らない場合は、購入店かメーカーに連絡ですね。
注意店としては、購入店が定めている初期不良期間内ならメーカーじゃなくて購入店に連絡した方が良いってことかな。
初期不良対応というのは基本的には店側が行うものなので、メーカーに連絡すると保証期間内の無償修理扱いになって時間がかかるんですよ。
初期不良交換の場合は店舗に同じ商品の在庫があればすぐに交換してくれますが、メーカー対応だと1週間以上は待たされることになります。

Qメモリ増設の確認が・・・

以前こちらで教えて頂いて、コミットチャージが物理メモリより多い事が判明しました。
先程、増設メモリ(1GB)が届いたのでPCにセットしました。
使用PCはSONYのVAIO、512MBのメモリです。

現在・・・
 コミットチャージ(KB)最大値 595680
 物理メモリ(KB)   合計 1562736
 カーネルメモリ(KB) 合計  117636

セットした後に気付いたのですが、以前の値をメモするのを忘れました・・・

ここで質問なのですが
 ・以前の値を確認したい場合は、今回増設したメモリを取って確認するしかないでしょうか?
 ・上記の値からして、以前のメモリを確認しなくても問題ないでしょうか?

どうぞ、よろしくお願い致します。

Aベストアンサー

面倒な計算はしたくないので・・・・・・

ちゃんとメモリの合計は1.5GBの値を示しています。

>今回増設したメモリを取って確認するしかないでしょうか?

特に不具合もないのにはずす必要はありません。
それより壊してしまう可能性のが高いです。

http://www.altech-ads.com/product/10000755.htm

瞬時にハードウェアを調べてくれるものです。

メーカーまでわかりますから、調べるならこちらでいいと思います。

QVMware Server上の仮想マシンでCD-ROMドライブ名を変更しても、ホストや、他のゲスト(仮想マシン)に影響ないですか?

いつも参考にさせていただいております。
VMware 初心者です。
マニュアルや、VMwareのコミュニティサイトをひととおり、
あたってみたのですが、これといった答えがみつからず
悩んでいます。

やりたいことは、現在、すでに、仮想マシンが1つ稼動
(本番稼動中)しているサーバーにもう一つ仮想マシンを
追加で作成中なのですが、この仮想マシンについては、
CD-ROMドライブ名を変更したいのです。

普通の物理マシンの時のように、Windowsの管理ツールから
変更してしまっても、ホストや、もう一つの仮想端末の方
には影響ないのでしょうか。

別のマシンで、環境を作成して実験してみればよいでは
ないかとお叱り受けそうなのですが、今のところ、適当な
マシンもすぐ見つからず困っています。
もし、過去にそのようなことをされた方がいらっしゃれば
是非情報提供をお願いいたします。

なお、環境は以下の通りです。
【VMware】
VMware Server 1.06
【ホストOS】
Windows Server 2003 Standard Edition
CD-ROMドライブ: D:\ です。
【ゲストOS-その1】
Windows Server 2003 Standard Edition
CD-ROMドライブ: D:\ です。
【ゲストOS-その2】
Windows 2000 Server Standard Edition
CD-ROMドライブ: D:\ →E:\ に変更したいです。

以上、すみませんがよろしくお願いします。

いつも参考にさせていただいております。
VMware 初心者です。
マニュアルや、VMwareのコミュニティサイトをひととおり、
あたってみたのですが、これといった答えがみつからず
悩んでいます。

やりたいことは、現在、すでに、仮想マシンが1つ稼動
(本番稼動中)しているサーバーにもう一つ仮想マシンを
追加で作成中なのですが、この仮想マシンについては、
CD-ROMドライブ名を変更したいのです。

普通の物理マシンの時のように、Windowsの管理ツールから
変更してしまっても、ホストや、もう一つの...続きを読む

Aベストアンサー

こんばんわ。

ゲストOSからホストOSを見にいく時に、参照されるホストOSのドライブを変更していなければ大丈夫と思います。

ゲストOS1のD→ホストOSのD
ゲストOS2のE→ホストOSのD
になってれば大丈夫と思います。

それと問題なければ関係ありませんが、VMware上のCDドライブはIDE接続よりもSCSI接続にした方が良い時もあります(マザーボードとの物理的なものでなくVMware上の仮想BIOS上でのことです)。
ゲストOSがWindowsでVMwareのSCSIを使うとドライバ登録とかが必要になる時もあり、面倒に感じる時もありますが安定すると思います。

Qメモリ増設での確認方法

メモリーを増設したのですが、XPの起動時間等が
増設前と余り変わりません。増設した効果?が判りやすいのは
どのような事をしてみれば良いでしょうか?

他のソフトの起動とかも試したのですが余り時間が変わらない。
メモリが駄目なのか?memtest86?とかメモリの検査をした方が
いいでしょうか?ちなみに新品を購入しています

Aベストアンサー

XPの場合、512から増設しても起動時間はそれほど体感できないかと思います。
256→512にしたときはかなり体感できると思います。

体感できるとすれば重めのソフト(CAD等)の起動のときなどでしょうか。
あとはタブブラウザでたくさんタブを開いたりとか。


足りない128Mはビデオメモリで使われていると思います。

Q浮動小数点(エクセス64形式)、倍精度(64bit)仮数部は何bit?

タイトルの通り、エクセス64形式の倍精度(64bit)のときの指数部、仮数部がそれぞれ何bitなのかわかりません。IEEE形式のものと、単精度(32bit)のものは調べられたのですが・・・
(421C 1999 9999 99A0)
等、いくつかエクセス64形式で表記された値があり、これを実数でいくつになるか確認するためです。

よろしくお願いします。

Aベストアンサー

参考URLによると
1,7,56
みたいですね

参考URL:http://cs.maritime.kobe-u.ac.jp/waka/course/ip2004s/IPnt03b.pdf

Qメモリ増設後のスペックの確認

今日無事にメモリ増設を完了しました。(64+128=192MB)
計算上は192MBになっているはずなのですが、「パフォーマンス」等で確認すると、190MBになっています。
たった2MBなのかもしれませんが、ちょっと気になります。
これで正常なのでしょうか?
ちなみにVAIO-FX55にアイオーのメモリーを取り付けました。

Aベストアンサー

私のも1MB少ないだけです。
で、サポートで調べたらモデル違いのですがよく似たのが載ってました。
VAIO-FX55にも[VAIO]-[VAIOシステム情報]があるならそれで確認してみては?

参考URL:http://search.vaio.sony.co.jp/solution/S0008070003669/index.html

Q128bit変数表現のために、64bit×2または32bit×4の構造体とする方法は一般的か?

32bitプラットフォーム上で、128bitアプリケーションを実装しようと試みています。32-bit変数または64-bit変数はサポートされているのですが、128bit変数はサポートされていません。

このような環境なのですが、プログラミングを楽にするため、またコードの可読性を確保するため、普段は128bitの変数として宣言しておき、必要に応じてその中の32-bitや64-bitのみを取り出して処理に使うようなコードを書きたいです。

このような場合、コード記述としては、構造体、つまり、
#include <stdint.h>
...
struct uint128_t{
uint64_t lo;
uint64_t hi;
}
または
struct uint128_t{
uint32_t x;
uint32_t y;
uint32_t z;
uint32_t w;
}
のようにするのが一般的な方法なのでしょうか?

周りにコードを書く人がいないため、初歩的な質問で恐縮ですが、こちらで質問させて頂きます。
よろしくお願いします。

32bitプラットフォーム上で、128bitアプリケーションを実装しようと試みています。32-bit変数または64-bit変数はサポートされているのですが、128bit変数はサポートされていません。

このような環境なのですが、プログラミングを楽にするため、またコードの可読性を確保するため、普段は128bitの変数として宣言しておき、必要に応じてその中の32-bitや64-bitのみを取り出して処理に使うようなコードを書きたいです。

このような場合、コード記述としては、構造体、つまり、
#include <stdint.h>
...
stru...続きを読む

Aベストアンサー

目的は 128bit 符号なし整数の単純な保存という意味ではこれでもいいかもしれませんが、いくつか前提条件があります。

この構造体は下位先行型プロセッサー (Intel、VAX など) ではこれでいいのですが、上位先行型プロセッサー (PPC、Spark など) に移植する時には順序が逆になってしまいます。

また、通信ソフトの世界では常に上位先行で送信するのがルールです。

移植性を重視するコーディングに拘るなら、16x8bit のスタイルにして、

struct uint128_t {
unsigned char bF;
unsigned char bE;
unsigned char bD;
unsigned char bC;
unsigned char bB;
unsigned char bA;
unsigned char b9;
unsigned char b8;
unsigned char b7;
unsigned char b6;
unsigned char b5;
unsigned char b4;
unsigned char b3;
unsigned char b2;
unsigned char b1;
unsigned char b0;
};

または、

struct uint128_t {
unsigned char b[8];
};

とした方がいいと思います。
C 言語ではキャリーアンドボローの概念が実装されていないので、構造体の四則演算を関数定義する場合にも、バイト単位の方が移植性の高いプログラムとなります。後者の場合、将来 256bit に拡張することも容易にできます。

特に、貴方が提案した 2x64bit 方式では、繰り上がりのある演算が定義できません。

ただ、これでは演算速度に問題があるという場合には、

#if sizeof(long)

などを使って手動で最適化を図る必要があるかも知れません。

尚、特定の処理系 (x86 か x64) に限定しても良いプログラムならば、

#pragma

を使ってアセンブラマクロにしてしまうのも手です。この場合でも、処理系に依存しないコーディングスタイルを併記しておくことをお勧めします。

目的は 128bit 符号なし整数の単純な保存という意味ではこれでもいいかもしれませんが、いくつか前提条件があります。

この構造体は下位先行型プロセッサー (Intel、VAX など) ではこれでいいのですが、上位先行型プロセッサー (PPC、Spark など) に移植する時には順序が逆になってしまいます。

また、通信ソフトの世界では常に上位先行で送信するのがルールです。

移植性を重視するコーディングに拘るなら、16x8bit のスタイルにして、

struct uint128_t {
unsigned char bF;
unsigned char bE; ...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング