- ベストアンサー
物理メモリとページファイル及びスワップについて
参考サイト:http://www.atmarkit.co.jp/fwin2k/win2ktips/076pgfilesize/076pgfilesize.html メモリについて調べていて疑問に思ったことがあるので質問させてもらいます。 ・今まで仮想メモリというのは物理メモリの不足を補うために適時HDDに確保された領域(ページファイル)のみを示す用語だと認識していたのですが、そうではなく「仮想メモリ=物理メモリ+ページファイル」という実質使用可能なメモリの総量という意味の言葉ですか? ・例えば1GBや2GBなど、十分な物理メモリがあるとき、トータルで使用されるメモリがそれよりも少ないならば、HDDに領域を確保しない。つまり物理メモリを超えそうになったときに初めてページファイルは作成され、物理メモリで足るようになれば解放されるものだと思っていました。しかし、参考サイトを読んだ限りでは「ページファイルは必要に応じて生成されるのではなく、恒常的に存在し、使用頻度の低いデータはメモリにいくら空きがあったとしてもスワップされる。」と認識しました。必要に応じてページファイルが適時拡張されるのはいいのですが、ページファイルはどんなに物理メモリが使用状況に対して十分でも常に存在するものなのですか?また、物理メモリが十分に足りていても使われないデータはスワップアウトされてしまいますか? ・ページファイルはデフォルトで物理メモリの1.5倍の大きさがあるらしいのですが、当然このファイルがHDD上にとった領域は別のファイル(.txtなど)の保存領域としては利用できませんよね? 長くなりましたが、以上4点についてご教授お願いします。説明不足がありましたら追記しますのでよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
1.仮想メモリの指す範囲は? 「仮想メモリ=HDD上の領域」も 「仮想メモリ=物理メモリ+ページファイル」も どちらも正解のように思います。 というのは、「仮想メモリのサイズ」と表現すると、OSやユーザからの 視点で、HDD上にどのくらいの大きさをとるのか、を示しますし、 「仮想メモリ空間のサイズ」となるとプロセスからの視点で、自分はどの くらいのメモリを使えるのか、を示すでしょう。 OSも仮想メモリによって恩恵を受けますが、基本的に仮想メモリは (メモリを使いたい)プロセスのためにあるので、どちらかというと後者 の意味合いが強いかもしれません。 2.ページファイルを作るタイミングは? これは、ページングのアルゴリズム次第です。 もちろん、ぎりぎりまで物理メモリだけでしのいで、それを超えたら仮想 メモリを使うのも方法として考えられます。しかし、この方式では、 「メモリの要求 ⇒ いらないページをスワップアウト ⇒ ページの割付け」 となり、スワップアウトは大きなオーバーヘッドになります。そこで、普 段からいらないページは物理メモリ外に追い出しておくことにしているの です。 3.物理メモリが空いていてもスワップアウトされるか? 2.の回答と同じです。 4.ページファイルの領域に別のファイルを保存できるか? できません。
その他の回答 (1)
- nakamuraya
- ベストアンサー率33% (144/425)
仮想メモリ=HDD上のページファイルで正解です。 仮想メモリのファイルサイズは「パフォーマンスオプション」で割り当てが出来ます。 だから、仮想メモリを0MBにすれば物理メモリ上でのみ動作します。 その場合、2GB位必要になりますが速度的には仮想メモリを使用しない方が速くなります。
お礼
ご回答ありがとうございます。ページファイルってゼロにできるんですね。物理メモリの1.5~3倍の範囲でしか割り当て領域の変更ができないと思っていました。当方のPCは物理メモリが1GBで、タスクマネージャによる最大使用量は700MB程度、システムキャッシュが300MB程度要求するのでぎりぎりです。ページファイルに少し頼らないとだめっぽいですね。
お礼
ご回答ありがとうございます。 1.どちらも可なんですね。覚えておきます。 2.3.「恒常的にある」「適時生成」どちらもあるんですね。まあHDDに空きが十分ならPFが恒常的に存在する方がいちいち生成、消去しなくて済むのでPC的には楽そうです。 4.できませんよね。確認できてよかったです。 詳しくありがとうございました。