プロが教える店舗&オフィスのセキュリティ対策術

仮想メモリを大きくすると起こる現象

仮想メモリ領域を必要とするソフトがあり、
そのソフトの実行時にハードディスク上でファイルの断片化が発生してしまう。
しばらくその状態で使用していると、
ハードディスクに断片化されたファイルが多く存在してしまうことになり、
結果パフォーマンスが低下する。
また、仮想記憶領域自体がハードディスクを圧迫し、データのやり取りの際に処理速度が低下する。

と認識していますが正しいのでしょうか?
もしこの推測が正しいのであれば、
パソコン上での日常の作業は物理メモリ(768メガバイト)で十分まかなえているので、
出来るだけ仮想メモリを小さい値に設定しようと思っています。
(ちなみに上記の現象も自身の予測です。)

A 回答 (6件)

仮想メモリの断片化(フラグメンテーション)主たる原因は仮想メモリの初期サイズと最大サイズの差異によって生じます。


つまり仮想メモリの可変を認めているので仮想メモリを取得する時に不連続領域がどんどん増えます。
これで断片化が進むわけです。

仮想メモリの絶対的な理想値は0ですが事実上は不可能です。
理由はアプリによってはページングファイルを要求するものがあります。

>仮想記憶領域自体がハードディスクを圧迫し、データのやり取りの際に処理速度が低下する。
大きく言えばその通りですが仮想メモリの絶対量は現在の大容量HDDにおいては必ずしも著しい影響を与えるわけではありません。
HDDのパフォーマンスダウンはWindowsやIEの一時ファイルの影響や複数のアプリを同時使用による不活性なDLLファイルの影響が大きいでしょう。
昨今の動画ファイルを大量に溜め込む事はHDDの使用率の悪化もレスポンスダウンの一因でしょう。

>出来るだけ仮想メモリを小さい値に設定しようと思っています。
正しい選択ですが0には出来ません。
前述の通りです。


全く逆の発想もできます。
実メモリの何倍もの仮想メモリ設定する。
ゼロスピンドルパソコンの場合は実メモリも仮想メモリの環境は同じと考えられます。
仮想メモリのアクセスも実メモリ並みの転送速度です。
また理論的には断片化はありません。
こうなると仮想メモリを膨大に取得してあらゆるアプリの全モジュールを読み込んで処理できます。
現実的には制約はあると思いますがHDDの仮想メモリとは根本的に違いますね。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

仮想メモリとHDDの容量を比べると、
確かに仮想メモリ領域がHDDに与える影響は小さいかもしれませんね。

仮想メモリが実メモリと同じ速度の仮想メモリもあるんですか!
う~ん、奥が深いですね…

お礼日時:2007/07/17 17:49

こんばんは。



日常の作業のメモリ使用量を見て十二分の増設したら仮想メモリの

問題も無いのではないかと思いますが。
 
    • good
    • 0
この回答へのお礼

さらに快適な環境をと思って、
メモリ関連で少し突っ込んでみたんですが、
あまり効果は見られませんでした…

お礼日時:2007/07/17 17:59

システムはバランスです。

あちら立てればこちら立たず、という現象
はどうしても発生するでしょう。

仮想メモリをなるべく小さくするのが最適である、という回答が
あれば、そもそもOSが大きな仮想メモリを取るような設定はしません。
つまり、そのような答えは無いと思って差支えはありません。

PCは汎用機です。なるべく色々と多くのことが出来るような価値観
で設計されています。その為に個人では不要な機能も多々あるのは
事実でしょう。

結局、そのPCで何を行うか、ですね。色々なアプリケーションを使っ
て様々な操作をして見たい、という目的があれば仮想メモリも使う
ことがあるでしょう。

この問題を解決するには、仮想メモリの一般的なサイズより、極端
に大きなHDDを取り付ければ、容量の問題は無くなります。
他のファイルとの影響を無くそうと思えば、仮想メモリ専用のHDDを
増設したら良い訳です。これらは極端な意見ですが、現在のPCの部材
や価格では結構実現できる意見でもあります。

あま、それらは置いておいて、仮想メモリの扱いは難しいのは事実
です。論理的に速くなる筈だと思った設定でも遅くなったり、そも
そも体感できるほどの性能差が出るかどうかが怪しかったりします。
    • good
    • 0
この回答へのお礼

パソコンが汎用機である以上、
確かに自分にとって好都合なように設定するのは難しそうですね…。

現段階で仮想メモリをデフォルトの1/7程度に設定していますが、
さほど速度の向上は感じられませんでした。

参考になりました、ありがとうございました!

お礼日時:2007/07/17 17:55

もちろん物理メモリが充分であれば仮想メモリを使う必要はありません。


断片化やハードディスクを圧迫することを避けたいなら仮想メモリを使わない設定にすることもできます。

これらの問題を避けるために私の場合はOSインストール後すぐに、仮想メモリを自分で設定するにして必要な容量で固定しています。
    • good
    • 0
この回答へのお礼

容量が少ないので、なるべくハードディスクは圧迫したくないですね…。
様子を見ながら調整していきます。
ご回答ありがとうございました!

お礼日時:2007/07/17 17:43

仮想メモリーが原因で起こる断片化は、仮想メモリー領域が足らなくなる際に起こります。


かといって、むやみに大きなサイズを指定すると、ファイルの保存時にハードディスク容量が足らなくなると、仮想メモリーの割り当てを解放するので、この際にも断片化が起こります。
一部雑誌等で、実メモリーが十分あるなら仮想メモリーは必要ないという記述がありましたが、これは間違いです。

また、実メモリーが十分あれば仮想メモリーは使用しないので断片化は発生しません。

お勧めの設定としては、実メモリーと同程度か1.5倍くらいの容量を、初期サイズ・最大サイズともに設定することです(同じ値にする)。
こうしておけば、仮想メモリー以外の部分は断片化が起きません(仮想メモリーが原因で)。
    • good
    • 0
この回答へのお礼

なるほど…。
断片化は使用時ではなく、メモリ不足時の拡張の際に起こるということですね。
わかりやすい回答ありがとうございました!

お礼日時:2007/07/17 17:41

それは適正サイズに比べて仮想記憶サイズが大きい場合ですね。



必要以上に小さいとスワップが頻発して結局のところパフォーマンスが落ちてしまいます。

日常でどのようなアプリケーションをお使いかわかりませんが、システムに任せてしまっても問題はないかと。
十分に大きい物理メモリを搭載しておけば仮想記憶なしにできるそうですが。
    • good
    • 0
この回答へのお礼

あまり小さくしても逆効果なので、
余裕を見つつ小さくしていこうと思います。
ご回答ありがとうございました。

お礼日時:2007/07/17 17:38

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