- ベストアンサー
アプリケーションのメモリ使用量に関する質問です。
アプリケーションのメモリ使用量に関する質問です。 いつもお世話になっております。 32bitのwindowsXPにおいて、OSが使う物理メモリ領域は2GB、ひとつのアプリが使える物理メモリ領域は最大で1GBということを聞きました。が、とあるアプリケーションを利用時、タスクマネージャで見てみると1.4GBほど使用しておりました。 0.4GBほど超過しているようですが、この超過分はHDDの一部を仮想メモリとして利用している、という考え方で間違っていませんでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
/3GB スイッチ http://support.microsoft.com/kb/328882/ja /userva スイッチ http://support.microsoft.com/kb/316739/ja カーネル用に 2 GB の仮想アドレス空間を予約しており、ユーザー モードのプロセスが 2 GB の仮想アドレス空間を使用できるようになっています。 OSが管理できるのは、32bitですから、最大4GBです。 http://128bit.blog41.fc2.com/blog-entry-32.html http://itpro.nikkeibp.co.jp/article/COLUMN/20070119/259161/?SS=imgview&FD=2635308&ST=lin-os 仮想アドレス空間は,実行しているプロセスごとに複数存在します。 物理アドレスは実際の物理メモリに割り当てられるアドレスで、ひとつしか存在しない。 物理アドレスと仮想アドレスの相互変換はOSの仕事。 とあるアプリケーションを利用時に、1.4GBほど使用している場合は、物理メモリに置かれます。 しかし、物理メモリが1GBの場合は、仮想メモリを使用します。 物理メモリが2GBの場合は、仮想メモリを使用しなくてもいいですね。 物理メモリが4GBの場合でも、/3GB スイッチなしのとき、ユーザーモードのプロセス用に、2GBの仮想アドレス空間しか、ないので、アプリケーションは動作できません。 /3GB スイッチが入っている場合は、3GBのアプリケーションも動作できます。 物理メモリが2GBの場合で、/3GB スイッチが入っている場合の3GBのアプリケーションは、3GBの仮想アドレス空間なので、物理メモリに2GB、仮想メモリに1GBですね。 マルチタスクなので、次のプロセスが起動すると、仮想メモリを退避させるために、 スワップが発生します。 質問の、 OSが使う物理メモリ領域は2GB->約3.5GB ひとつのアプリが使える物理メモリ領域は最大で1GB->2GB /3GBスイッチで3GB、 /uservaスイッチで2~3GB 浅学のため、勘違いしている回答かもしれませんが、自分では、このように理解しています。
その他の回答 (1)
- df49849
- ベストアンサー率53% (14/26)
かなり間違ってます 32bitのwindowsXPにおいて、OSが使う物理メモリ領域は約3GB(3.12…GB) ひとつのアプリが使える物理メモリ領域は制限なし。あるだけ使える。 それでもアプリの要求する物理メモリが足りない場合に仮想メモリを使用する。
お礼
ありがとうございました。
お礼
詳細なご回答をありがとうございました。 早速、/3GBスイッチと/uservaスイッチで運用しています。