- ベストアンサー
仮想メモリについて
仮想メモリは最小値(初期値)と最大値がありますが、最大値はどのように設定するのでしょう? 単純に最小値を上回っていれば良いのでしょうか?仕組みを教えてください。 また、仮想メモリというのはHDDの容量を使用するんですよね? 具体的に、HDDの容量何バイトでメモリ1MB分に相当するのでしょう? おねがいします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
仮想メモリとは、高速で高価な物理メモリをたくさん積む代わりに、メモリと比べて安価なHDDをメモリの代わりに使うことです。 なんで、物理メモリが足りなくなりそうになったら使われます。 以前(Windows3.1のころ)は、仮想メモリは物理メモリと同じだけ必要なんていわれていましたが、あたりまえのように256Mのメモリを積む時代になっては当てはまらなくなっています。 おそらくその名残でしょうか、デフォルトでは搭載メモリの量を目安に勝手にサイズが決められています。 で、特に最大値なんですが、自分が普段使うアプリを目いっぱい立ち上げた状態で、タスクマネージャのメモリ使用量をみてください。 個人的には、 仮想メモリ = メモリ使用量 + 100M - 物理メモリ ぐらいかな?と思っています。 ようは、自分が最大に使ってもメモリが足りなくならない分があれば十分ということです。 あと、HDDの1Mがメモリの1Mに相当します。
その他の回答 (6)
- parts
- ベストアンサー率62% (6366/10151)
再回答です。 今回はちょっと深く?行きます。仮想メモリについて疑問が多い人も多いようで・・・ Q/なぜ最小値と最大値の2つがあって、推奨値はひとつしか書いてないんでしょうか? A/これは、既に解答があるとおりです。最大が最大限確保される量です。最小は最小限の確保単位です。 Q/何か絶対法則があるんですよね? A/推奨値というのは、このメモリ確保(最大値と最小値)を自動で設定する物です。常に決まった最大値や最小値で動作するのではなく、コンピュータの状態、ハードディスクの空き状態を判別して自動で容量を割り当てます。そのため、推奨値は最もパフォーマンスを発揮しやすいように指定されているのです。 先に述べたように仮想メモリはハードディスク上に作成されるため、下手に確保すればハードディスクを圧迫したり、本来の保存されているデータへのアクセスを遅くします。逆に少ないと動作不良に陥る。 それらを考えて、規定値を出して(正確にはだいたい決まった値が出ます)います。まあ、動作に支障がない無難な容量を指定しているということです。 この指定を変更するのは、メモリ不足がある。仮想メモリ不足がある。ハードディスク容量が不足気味である場合、ソフトやこれから扱うファイルの都合上などの場合に設定します。 Q/最大値=推奨値100MBだとすれば、最小値は何MBに設定するのが良いのでしょうか? A/最小限使うだろうという容量に指定します。動作させるソフトウェアの環境などによりますので、解答はできませんね。通常はコンピュータの指定する容量と異なる指定をする場合に、最小値や最大値を指定します。 コンピュータの推奨値が最大で100だからそれを見て50とか90とか指定するのではなく、コンピュータのパフォーマンスやソフトウェア環境、ハードディスクの空きを考えて最低(最大)容量を指定します。 通常は規定値で良いですが、ソフトウェアの動作状況によっては、もっと多くの容量が必要な場合も生じます。 (たとえば大きな画像処理で、仮想メモリが不足すると予想される場合は、あらかじめOSの仮想メモリを増やして置くという対処をする、OSが管理メモリからソフトウェアへ割り当てるため、重い操作をする際に指定すると効果がある場合があります) そのときに、変更します。常に変更していればパフォーマンスが上がるとかそういう物ではなく、ソフトの環境に応じて指定します。また、追加したソフトウェアの状態で問題があると思えば設定する。仮想メモリの指定は基本的にはそういう場合のためにあります。 Q/Win2000で128MBなのですが、これは256MBにしないとヤバイですか? A/やばいと言うことはないですよ。仮想メモリに常にアクセスするようなら増設した方が動作は高速になるということと、メモリ不足(メーカーのメモリ規定量に達していない)で起動しないソフトがあるようなら別ですが・・・ Q/最近オンラインゲーム落としたんですが、うまく実行できず先へ進まないのもそのせいでしょうか? A/ゲームですか・・・それは仮想メモリだけの問題とは限らないですが・・・メモリ不足と出るなら別ですし最初から物理メモリがソフトの規定より少ないと考えられるなら別ですが・・・。物理メモリが推奨値に達していれば通常は動作するでしょう。 ただ、常駐ソフトなどが多い場合は、そのゲームをするときには十分減らすことです。 オンラインも含めたゲームで良くある問題は、 グラフィック・3D性能が足りない、サポートされていないグラフィックアダプタを利用している、CPU不足、Windows2000をサポートしていないゲームである。DirectXのバージョンが低い。ネットワーク機能に不具合があるなどの問題がありえますね。 特に3Dのオンラインゲームであれば、CPUと3Dグラフィックスの部分が不足している、動作保証のないグラフィックアダプタを使っていることによる動作不良が多いです。 いかがでしょう。
私は、 B5タイプノート(CPU600Mhz、システムバス100Mhz、メモリ;最大の256MB) A4ノート(CPU750Mhz、システムバス100Mhz、メモリ;最大の256MB)でどちらもHDDは20GB 自作デスクトップ(CPU1.6Ghz、システムバス133Mhz、メモリ;512MB)HDDは40GB2台(IDEのプライマリマスタ、セカンダリマスタ)を使っています。 いろいろと設定したり、掲示板などで相談したりしましたが、パフォーマンスはどのように大きく仮想メモリの最大サイズを設定しても、変化はありませんでした。 ただ、どのPCもHDDを2パーティションに切ってあり、そのメインドライブとセカンドドライブの一方に設定するよりも、両方に設定する方が、より速いパフォーマンスが得られています。(自作機では、プライマリとセカンダリで、W2kと2000サーバーのデュアルブートにしてあります) また、ノートンシステムワークスで、ページファイルサイズ(設定値)と、実際の利用サイズを両方表示できますが、ページファイル(仮想メモリーの利用サイズ)が15MBを超えたことはありません。 ただ、同じ設定にしていても、やはりCPU周波数が600と750では、断然750の方が速くなっています。 結果をまとめますと、 (1) ページファイルの設定値 メインドライブとセカンドドライブの両方に、規定値(メモリサイズの1.5倍)を最小値・最大値に設定しておけば、それで十分。 メモリの領域確保の役目は十分に果たしている。 (2) パフォーマンスは、CPUの周波数とシステムバスクロックの大きさで決まっており、仮想メモリの設定値の影響は、それほど大きいものではない。 ということです。
私もかなり気にしていましたが、明快な答えが見つからず今日に至っております。仮想メモリの最大値を300MB 多く設定していた時もありましたが益があったかどうか分かりません。 w2000は実メモリの約1.5倍の仮想メモリ領域を推奨値とします。 現在の私は、推奨値+2MBを初期値/最大値の両方に同じ設定をしていますが、別段問題は起きていません。HDの空を多く必要とするときは最小値50/最大値60MB ぐらいに設定することもありますが、何も理解していないとの自覚はあります。 画像ソフトPhotoshopの仮想メモリはOSの仮想メモリとは別のドライブに設定するのが望ましいので、こちらのほうはRAID 0のストライピングに置いてます。SCSIのHDも4台使うとパフォーマンスは目に見えて高くなります。 OSはIDEの2台のHDをストライピングし起動していますが、 ほぼ満足な状態です。
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>最小値と最大値の差は何か関係あるんですか? >どっちも一緒でいいんですか? 最小値は、常にHDD確保されている量、最大値は最大限確保される量ということですよね。 ということは、 最小値が小さいときは、仮想メモリが足りなくなったときはその時点で確保されていくからHDDを有効活用できます。 しかし、足りなくなった時点で確保していくので確保する処理に時間がかかります。また、仮想メモリに限らず、1つのファイルはHDDには連続した領域で存在することが速度の面でも望ましいのですが、足りなくなった時点で確保していくと、どうしても不連続になってしまいます。 なんで、頻繁に仮想メモリを使う状態であって、物理メモリを増設不可能なのであれば、最小値を小さな値にするのはお勧めしません。 逆に、物理メモリをたくさん積んでいて、仮想メモリは保険のようなものというのであれば、最小値は小さくてもかまいません。 あとは、HDDの空き容量のことも考えて最適と思われる値を設定してください。
補足
仮想メモリはあまりいじらない方がいいんですね。 要は物理メモリが大事だと。 あと、今1番聞きたいのはANo.#2の補足の内容についてなんですが、どなたかおねがいします。
- parts
- ベストアンサー率62% (6366/10151)
Q/仮想メモリは最小値(初期値)と最大値がありますが、最大値はどのように設定するのでしょう? A/コンピュータの状態に合わせて、Windowsが通常は指定します。これは、よほどの理由がなければ、変更する必要はありませんし、OSで設定されている状態が最も最適化されていますから、下手に変更するとパフォーマンスを落とすことになります。 Q/単純に最小値を上回っていれば良いのでしょうか? A/仮想メモリの指定量が大きすぎると、今度はディスクアクセスの速度が低下したり、物理メモリのデータが仮想メモリに置かれるようになり、逆効果です。 最小値を上回っていればよいというだけではなく、現在搭載している物理メモリの量とHDDの空きなどを考えて規定量指定します。 Q/仕組みを教えてください。仮想メモリというのはHDDの容量を使用するんですよね? A/メインメモリ(物理メモリ・主記憶装置)の代わりとして駆動するメモリ、物理メモリ自体は極めて高速な記憶装置となり、必ずこれを介してCPUや各種コンピュータの制御機器にアクセスしますが、物理メモリ自体の容量は少なく、高価です。 そこで、考えられたのが仮想メモリです。 HDDが大容量化し空きが増えました。さらに、それと同時にOS(Windows)の肥大化が進み、メモリが足りなくなることが増えた。そこでハードディスク上に仮想的なメモリ領域を作成し、メモリとして割り当てたのが仮想メモリです。 ただし、仮想メモリはあくまで、代用であってメモリとしてその物の重要な役目は持ちません。 速度は低速で、通常のメインメモリの1/10以下の速度しかありません。しかも、ハードディスク上ですから、HDD上の本来のデータの読み書きも行いますのでさらに速度は低下します。 また、仮想メモリはCPUなどとデータのやりとりを直接することはできません。絶対にメモリに一度データを保持しそれを各機器に処理させるという手順が必要となります。 そこで、最も良く度々アクセスするデータをメインメモリに、あまり使わないが使う率が高い物を仮想メモリに置くようにしています。仮想メモリの役目はメモリの不足分を補う物です。ただし、機能的な面で簡易的に補うのであって能力的・速度的な重要な点では補えません。 そのため、仮想メモリがただ多ければそれで良いとは言えないということですね。 Q/具体的に、HDDの容量何バイトでメモリ1MB分に相当するのでしょう? A/どちらも1MBは1MBで同じです。 ちなみに、仮想メモリ指定量は通常はWindowsNT系(XP・2000)ではメインメモリ量+αですね。 通常メインメモリ1GB以下では、仮想+物理=2GBとなるようにしています。 それ以上の物理メモリがあれば、上の物理メモリ量(Proで最大4GBまで)+αになるように指定します。 Windows9x(98/Me)では、物理メモリ(最大512MB)+仮想メモリ=2GBになるのが通常の指定です。 よほどハードディスク容量がせっぱ詰まっているなどがなければ、変更しないことです。
補足
いや、もう変更しちゃったんですよ。 で、推奨値というのがあるのでその値に戻せばいいと思うんですが、推奨値は 最小値と最大値のどちらを指しているのかわかりません。 というか、なぜ最小値と最大値の2つがあって、推奨値はひとつしか書いてないんでしょうか? 何か絶対法則があるんですよね?そうでなければ絶対おかしいです。 例えば、最大値=推奨値100MBだとすれば、最小値は何MBに設定するのが良いのでしょうか? おねがいします。
>仮想という概念は大変有益なものです。 仮想メモリ 仮想デバイス 仮想CD-ROM ソフトを起動する場合、必ず物理メモリ(DIMM RAMメモリ)を消費します。 よく128MB搭載のPCという場合の128MBを指します。 大体PCを起動時には60?80mbはすでに使っています。 ですから残りは50?70MBしかありません。 ソフトによっては立ち上げるだけで30MBも使ってしまうソフトもあります。 最後にメモリがなくなればPCは起動しなくなります。 そうなっては大変なのでその場合はRAMではなく不揮発性記憶媒体のHDDを一時メモリとして借りることにすればとりあえずはPCは動いてくれるということだけです。 人によってはそのメモリ量を一定にしたり、別のドライブに移動させたりしています。 わたしはXP一本なので気にしてませんが・・・・いたずらしないでPC任せにしておくのが一番です。 初心者はね。・・・・? | | | | ↓
補足
というか、タスクマネージャ見たらメモリ使用量が通常130~190ぐらいになってました。 Win2000で128MBなのですが、これは256MBにしないとヤバイですか? 最近オンラインゲーム落としたんですが、うまく実行できず先へ進まないのもそのせいでしょうか?
補足
最小値と最大値の差は何か関係あるんですか? どっちも一緒でいいんですか?