• ベストアンサー

物理メモリとページファイル及びスワップについて

参考サイト:http://www.atmarkit.co.jp/fwin2k/win2ktips/076pgfilesize/076pgfilesize.html メモリについて調べていて疑問に思ったことがあるので質問させてもらいます。 ・今まで仮想メモリというのは物理メモリの不足を補うために適時HDDに確保された領域(ページファイル)のみを示す用語だと認識していたのですが、そうではなく「仮想メモリ=物理メモリ+ページファイル」という実質使用可能なメモリの総量という意味の言葉ですか? ・例えば1GBや2GBなど、十分な物理メモリがあるとき、トータルで使用されるメモリがそれよりも少ないならば、HDDに領域を確保しない。つまり物理メモリを超えそうになったときに初めてページファイルは作成され、物理メモリで足るようになれば解放されるものだと思っていました。しかし、参考サイトを読んだ限りでは「ページファイルは必要に応じて生成されるのではなく、恒常的に存在し、使用頻度の低いデータはメモリにいくら空きがあったとしてもスワップされる。」と認識しました。必要に応じてページファイルが適時拡張されるのはいいのですが、ページファイルはどんなに物理メモリが使用状況に対して十分でも常に存在するものなのですか?また、物理メモリが十分に足りていても使われないデータはスワップアウトされてしまいますか? ・ページファイルはデフォルトで物理メモリの1.5倍の大きさがあるらしいのですが、当然このファイルがHDD上にとった領域は別のファイル(.txtなど)の保存領域としては利用できませんよね? 長くなりましたが、以上4点についてご教授お願いします。説明不足がありましたら追記しますのでよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • K_Senryu
  • ベストアンサー率100% (6/6)
回答No.2

1.仮想メモリの指す範囲は? 「仮想メモリ=HDD上の領域」も 「仮想メモリ=物理メモリ+ページファイル」も どちらも正解のように思います。 というのは、「仮想メモリのサイズ」と表現すると、OSやユーザからの 視点で、HDD上にどのくらいの大きさをとるのか、を示しますし、 「仮想メモリ空間のサイズ」となるとプロセスからの視点で、自分はどの くらいのメモリを使えるのか、を示すでしょう。 OSも仮想メモリによって恩恵を受けますが、基本的に仮想メモリは (メモリを使いたい)プロセスのためにあるので、どちらかというと後者 の意味合いが強いかもしれません。 2.ページファイルを作るタイミングは? これは、ページングのアルゴリズム次第です。 もちろん、ぎりぎりまで物理メモリだけでしのいで、それを超えたら仮想 メモリを使うのも方法として考えられます。しかし、この方式では、 「メモリの要求 ⇒ いらないページをスワップアウト ⇒ ページの割付け」 となり、スワップアウトは大きなオーバーヘッドになります。そこで、普 段からいらないページは物理メモリ外に追い出しておくことにしているの です。 3.物理メモリが空いていてもスワップアウトされるか? 2.の回答と同じです。 4.ページファイルの領域に別のファイルを保存できるか? できません。

mac-dows
質問者

お礼

ご回答ありがとうございます。 1.どちらも可なんですね。覚えておきます。 2.3.「恒常的にある」「適時生成」どちらもあるんですね。まあHDDに空きが十分ならPFが恒常的に存在する方がいちいち生成、消去しなくて済むのでPC的には楽そうです。 4.できませんよね。確認できてよかったです。 詳しくありがとうございました。

その他の回答 (1)

回答No.1

仮想メモリ=HDD上のページファイルで正解です。 仮想メモリのファイルサイズは「パフォーマンスオプション」で割り当てが出来ます。 だから、仮想メモリを0MBにすれば物理メモリ上でのみ動作します。 その場合、2GB位必要になりますが速度的には仮想メモリを使用しない方が速くなります。

mac-dows
質問者

お礼

ご回答ありがとうございます。ページファイルってゼロにできるんですね。物理メモリの1.5~3倍の範囲でしか割り当て領域の変更ができないと思っていました。当方のPCは物理メモリが1GBで、タスクマネージャによる最大使用量は700MB程度、システムキャッシュが300MB程度要求するのでぎりぎりです。ページファイルに少し頼らないとだめっぽいですね。

関連するQ&A

  • Memory Boosterの表示の読み方。残り物理メモリが41%もあるのに、残りページファイルが36%も消費されている。

    XPのホームエディション、物理メモリは256MBの者です。 「Memory Booster」というソフトを、試用で使っています。メインの窓の下の方に、「仮想メモリ状態」という項目があります。その中には、「残り物理メモリ」「残りページファイル」「残り仮想メモリ」の3つの項目があります。 たとえば今なら、「残り物理メモリ」が41%で、「残りページファイル」が64%と表示されています。これの意味が分かりません。 私の理解では、「ページファイル」とは、「物理メモリがゼロになってからスワップアウトが起こって使用される領域」となっています。なのに、物理メモリが41%も残っているのに、ページファイルが36%も消費されているのは、納得がいきません。ちなみに、私のPCは、ページファイルを、382MB確保しています。 私の理解がおかしいのでしょうか? どなたか指摘してください。お願いします。

  • 物理メモリとスワップ(仮想メモリ)について

    windows xp 搭載メモリ:512MB の環境です。 タスクマネージャでメモリ使用量を見ると、 物理メモリ 合計:514992(約512MB) 利用可能:251928KB PF使用量(物理メモリで利用されている量+スワップ?):340MB となっていまして この状態というのは 物理メモリで約260MB使っていて(合計-利用可能) スワップが約80MB(PF使用量-260MB) 発生しているということなのでしょうか? 利用可能な物理メモリが251928KBもあるのに、 残りの物理メモリを使わず、スワップが発生しているように 見えるのですが、物理メモリに、ある程度利用可能なメモリ領域が あっても必ず仮想メモリを利用するものなのですか? 自分としては、物理メモリの使用量がMAXになってから 搭載している物理メモリの最大値を超えて、溢れたからそらに 対応するために、仮想メモリが使われるような概念をもっていますが、 違いますでしょうか? 頭が混乱中ですw ご教授お願いいたします。

  • 仮想メモリと物理メモリの関係について

    仮想メモリについて悩んでおります。 現在使用中のWindowsServer2003をHyper-vに移行するためメモリ使用状況を確認しているのですが、ここで分からない事があります。 これまで私は仮想メモリ(コミットチャージ)について物理メモリ使用量+スワップファイルの合計値という認識だったのですが、タスクマネージャーを見ると 物理メモリ(KB) 合計 2096304 利用可能 923356 システムキャッシュ 1220312 (物理メモリ空き容量) 2096304-923356=1172948 コミットチャージ(KB) 合計 611780 制限値 4038516 最大値 656576 とあり、計算すると物理メモリの使用量が仮想メモリ(コミットチャージ)を上回っています。 そこでお聞きしたいのですが、仮想メモリ=物理メモリ使用量+スワップファイルという私の認識は間違っていたのでしょうか。 また認識が正しい場合、何故物理メモリ量が仮想メモリ量を上回ることが起こるのかお教え下さい。

  • 仮想メモリと物理メモリの関係について

    現在使用中のWindowsServer2003をHyper-vに移行するためメモリ使用状況を確認しているのですが、ここで分からない事があります。 これまで私は仮想メモリ(コミットチャージ)について物理メモリ使用量+スワップファイルの合計値という認識だったのですが、タスクマネージャーを見ると 物理メモリ(KB) 合計 2096304 利用可能 923356 システムキャッシュ 1220312 (物理メモリ使用量) 2096304-923356=1172948 コミットチャージ(KB) 合計 611780 制限値 4038516 最大値 656576 とあり、計算すると物理メモリの使用量が仮想メモリ(コミットチャージ)を上回っています。 そこでお聞きしたいのですが、仮想メモリ=物理メモリ使用量+スワップファイルという私の認識は間違っていたのでしょうか。 また認識が正しい場合、何故物理メモリ量が仮想メモリ量を上回っているのかお教え下さい。

  • 物理メモリとページファイル

    物理メモリを補助するものとして、ページファイルというものがありますよね。 タスクマネージャで使用状況を確認できますが、使用可能な物理メモリが2GB以上余っているのにページファイルを使っているようです。 これって何故なんでしょうか? 圧縮ファイルを50個ばかり用意して一気に解凍してみたりしたんですが、物理メモリの使用量は300MBぐらいしか増えていないのに、ページファイルは1GBを超える使用量になってました。 アクセスの早い物理メモリより、ページファイルを使って処理を遅くされているようで、どうも気分の良いものではありません。 もしかして、僕は何か勘違いしていますか? どなたか詳しく説明していただけないでしょうか? OSはWindowsXP SP3を使っています。

  • 複数のHDDでページファイルがストライピング?

    Wikipediaの「仮想記憶」に「ページファイルはストライピングが行われるので複数のハードディスクドライブに小分けにしてページファイルを作成すると、ページング速度が向上する」とありました。 複数のドライブにページファイルがある場合は、ドライブレターの若い方から使用されていくものだと考えていたので、以下のように設定していました。 ケース1 ページファイルが4GBでは足りないが、ノートなのでHDDは増設できず、同じHDDの違うパーティションに2つのページファイルを作成した。 しかし、4GBで足りなくなることは希なので、頻繁に使用されるであろう1つめの4GBをディスクの外周のパーティションに作成し、使用頻度の低い2つめの4GBをディスクの内周のパーティションに作成した。 ケース2 RAMを4GB積んでいるが、ビデオメモリのためRAMが2.5GBしか認識されていないので、GavotteでRAMDiskを作成し、認識されていない領域に1.5GBのページファイルを置いた。 RAM+ページファイルが4GBでは足りなくなることがあるため、ケース1同様、外周のパーティションに4GBのページファイルを作成し、RAMDisk内のページファイルをすべて使用したら、外周のHDDのページファイルを使用することを期待。 さらに、同じHDD内の内周のパーティションにもう一つの4GBのページファイルを作成して、不足に備えている。 しかしWikipediaの内容が事実なら、上記のケースはかなりパフォーマンスを落としていることになりそうです。 ケース1の場合はRAMDiskとHDDがストライピングされ、実質HDDの速度でしか動作しません。 ケース2の場合は同じディスクの違う場所のデータに交互にアクセスし、シークが頻繁に発生しそうです。 質問 A. Wikipediaの記事は事実でしょうか? このことに関して出典も書いてありませんでしたし、他にこのような記事は見つけられませんでした。 B. Aが事実なら、複数のページファイルをストライピングしないで使う方法はないのでしょうか。 C. おそらくBは無理でしょうから、上記のケース1と2で何か改善策がありましたら教えてください。 ケース1ではノートで4GBのメモリを積んでいますが、HDDは増設できず、やはり物理RAM+ページファイル≧12288になるようにしたいです。 ケース2では認識されない1.5GBの領域をうまく使いつつ、物理RAM+ページファイル≧12288になるようにしたいです。 どちらのケースもWindows XP SP3 32bitです。 64bitでは1パーティションで4GB以上のページファイルが設定できるそうですが、ドライバがないためそちらは断念しています。 ちなみに、絶対的な物理メモリ不足については、あまり問題になっていないです。 (ほとんどのメモリはスワップアウトして放置)

  • メモリ

    メモリの容量が一杯にになった時の為にHDDに仮想メモリ領域という一時的にメモリ領域を確保する部分があるようですがその場合スワップとか起こって動作が遅く不安定になるそうですがデバイスマネージャで足らないメモリ容量を確認しメモリ増設すればHDDの仮想領域も必要なくなり結果的にスワップとかも起こらなくなると思いますがどうでしょうか?それとメモリ増設しただけでHDDの仮想領域にアクセスしないようになるんでしょうか?何処か設定が必要でしょうか?よろしくお願いします。

  • 物理メモリの有効活用

    いつもお世話になってます。 Windows XPです。 メインメモリは2GB積んでます。 当方が使用しているプログラムで、 ある、エラーで不正終了すると、 メモリを開放せずに終了してしまい困っています。 再起動をかける以外で開放させる方法はないのでしょうか? 例えば、OS起動時のページングファイル使用量 400MB強 上記の特定のプログラムの不正終了でメモリが残ったままだと ページングファイル使用量が、約1.7GB程いくのですが、 プログラム自体は終了されています。 その影響で、早い段階でスワップされてしまうので、 パフォーマンスがガタ落ちしてしまいます。 こういった何かしらの原因でメモリが開放されていない現象が、 あらゆるソフトであると思うのですが、上手くやりくりする方法は無いのでしょうか? ソフト毎にスワップさせるか、出来るだけ物理メモリで処理するか 選べれば言う事ないんですが、、 あと市販品やフリーソフトでよくあるメモリ開放ソフト、 (試したのはMemTurbo2、めもりーくりーなー、お掃除やさんとか) の場合は、単純に物理メモリで割り当てられている分をスワップさせているようで、 根本的な解決にはなりませんでした。 (エラーで終了した確保分が仮想領域に残っている) ご助言、補足要求あればお願い致します。

  • スワップファイルってどれくらい?

    スワップ仮想ファイルが多くなりすぎると、PCがハングアップしてしまうんですよね?今、80GBのハードディスクにOSも含めて30GBくらいのデータが入ってるんですけど、これをパーティーションで区切ったらまずいですか? PhotoshopやIllustratorやGoliveを複数のネットぶらうざとともに常時使用しています。 75%くらい使用領域が増えると危ないと聞いたことがあるんですけど、そういうものを監視できるソフトってありますか?OSは10.3.9です。

    • 締切済み
    • Mac
  • ページングファイルは使うべきか

    こんにちは。 現在、4GBのメインメモリを搭載しているVistaパソコンを使用しています。 いつも、物理メモリは1500MB程度しか使われておらず、2000MBを超えることはありません。 現在のページングファイルの値はデフォルトで3369MBになっています。 ページングファイルは、物理メモリが不足する場合に使用されるメモリ領域であり、HDD上にあるので処理速度が遅いものだと認識しています。 そこで、ページファイルを全く使わないようにして、処理速度を上昇させることは可能なのでしょうか? (使わないようにする方法自体は知っています) 何か良い経験をお持ちの方に、是非アドバイスをいただきたいと思います。 あと、WindowsOS上での仮想メモリとページングファイルの違いがよくわからないので、詳しい説明をして下さる人を探しています。 では、よろしくお願い致します。