• 締切済み

32Bit WindowsXP用アプリでメモリー3GB使う方法

32Bit WindowsXP用アプリは通常2GBメモリしか扱えないようなのですが、アプリケーションの実行モジュールの XCOFF ヘッダ部にある IMAGE_FILE_LARGE_ADDRESS_AWARE bit を onにすると3GBまで使用可能となると聞きました。 具体的にはユーティリティソフトのEDITBIN.EXE を使って >editbin.exe /LARGEADDRESSAWARE 3GBにしたいアプリ.exe のようにするらしいのですが・・・ こうすればどんなアプリも3GB対応にできてしまうのですか? やってみればよいのですが怖くてできません。 どなたかご意見ください。

みんなの回答

  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.5

対応できるアプリが限定されますが、Photoshop でメモリを有効活用するのでしたら、RAMディスクを使うという方法があります。 http://www10.atwiki.jp/gavotterd/ この Gavotte Ramdisk というソフトを使うと、OS管理外のメモリを「RAMディスク」にすることができます。 (例えば、4GBのメモリを積んで、32bit XP で3GBだけ認識している状況なら、残りの1GBのRAMディスクを作れる。8GB搭載なら5GB) RAMディスクはOSを再起動したら消えてしまいますが、ハードディスクに比べると「非常に高速」ですので、消えても問題ない目的に使えばメモリの有効活用になります。 例えば、Photoshop の仮想記憶ディスクとしてRAMディスクを使用すれば、Photoshopの高速化がかなり期待できます。 http://freshfield5.blog96.fc2.com/blog-entry-10.html

TAROMANIA
質問者

お礼

ご回答ありがとうございます。 フリーがあったんですね。 有料のRamPhantom3を買ってしまいました(汗)。 自動バックアップ機能を除けばフリーでよかったかもしれませんね。

noname#208124
noname#208124
回答No.4

/LARGEADDRESSAWARE:NO で元に戻せるんだから、やりたきゃ好きにやれって

TAROMANIA
質問者

お礼

アドバイスありがとうございます。 >/LARGEADDRESSAWARE:NO 参考になりやす。 好きにやってみましたが変化なし・・・

  • chie65535
  • ベストアンサー率43% (8525/19382)
回答No.3

追記。 >こうすればどんなアプリも3GB対応にできてしまうのですか? いいえ。 もし、アプリケーションの内部で「通常、メモリは最大でも2Gまでの筈。なので、メモリをアドレスは絶対にプラスの値になる。アドレスにマイナスの値が出て来たら、それは、メモリが確保出来なかったなどのエラーが起きたと言う事にしよう」と言う処理をしていたら、アプリケーションは正常に動きません。 なので「メモリは最大でも2Gまでしかない」と思われていた頃に製作された古いアプリケーションは、メモリが3Gある事を想定してない可能性があり「アプリケーション自身がエラーだと勘違いして強制終了する可能性」があります。 なので「何でもかんでも3G対応になる」と言う訳ではありません。

TAROMANIA
質問者

お礼

ご回答ありがとうございます。 >>こうすればどんなアプリも3GB対応にできてしまうのですか? >いいえ。 また不安になってきました。~~; Photoshop7.0は古い部類に入るんでしょうかねぇ・・・。 その他のソフトはほぼ最新版です。 再instすればよいようなのでひとまずやってみたいです。

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

理論上はどのアプリでも対応するはずですがそもそも大量のメモリを確保するアプリ自体があまりないので普通のアプリに実行する意味はないと思います。 タスクマネージャー等で確認して2GB近いメモリを使うソフトでないと意味がありません。 動画を扱うアプリなら可能性高い気がします。

TAROMANIA
質問者

お礼

アドバイスありがとうございます。 >理論上はどのアプリでも対応するはずですが・・・ ちょっと安心しました。 画像編集ソフト、3Dソフトを3GB対応にしたいと思ってます。

  • chie65535
  • ベストアンサー率43% (8525/19382)
回答No.1

そのフラグは、ブートドライブのルートのboot.iniに/3GBのスイッチが指定されていて、実メモリが4GB搭載されていて、OSがアプリケーション用メモリに3GBの実メモリを割り当てた場合にのみ、有効です。 ブートドライブのルートのboot.iniに/3GBのスイッチが指定可能なのは Windows XP Professional Windows Server 2003 Windows Server 2003, Enterprise Edition Windows Server 2003, Datacenter Edition Windows 2000 Advanced Server Windows 2000 Datacenter Server Windows NT Server 4.0, Enterprise Edition のOSのみです。 また、ブートドライブのルートのboot.iniに/3GBのスイッチを付けると、動作が非常に不安定になったり、OSのバージョンによっては「起動さえしなくなる」ので注意が必要です(XP SP1では、かなりの高確率で、OSが起動しなくなるでしょう) なので、ブートドライブのルートのboot.iniに/3GBのスイッチを付けるのは「リカバリして起動HDDをフォーマットする事にしたから、リカバリ前にちょっと試してみよう。起動しなくなっても、どうせフォーマットするんだから」と言う時だけにしておきましょう。下手をすると、boot.iniを元に戻せなくなってしまいますからね。 なお、exeを書き替えただけでboot.iniに/3GBを付けていない場合、何の効果もありません。書き替えは無視されます。 確実に言えるのは「馬鹿なマネはしない方が良い」と言う事と「4Gもメモリが要るなら、不安定な状態で恐る恐る使うより、CPUもOSもさっさと64bitに取り換えなさい」と言う事です。

TAROMANIA
質問者

お礼

早速のご回答ありがとうございます。 環境ですが、32ビットWinXPProSP3で4GBメモリ搭載です。Boot.iniで/3GBスイッチ入れてます。 AfterEffectsというソフトがデフォルトで IMAGE_FILE_LARGE_ADDRESS_AWAREフラグがonになっており問題なく動作しております(2.7GBぐらい使用)。ので、他のメモリを食うソフトもフラグをonにしたいと考えております。 64ビットに移行することは32ビットアプリとの相性があって今のところ考えてませんが、試験的にVirtualPCなんかでやってみたいなぁと考えてます。

関連するQ&A

  • WindowsXP 32bitでメモリ3GBが認識されない。

    WindowsXP 32bitでメモリ3GBが認識されない。 OSがWindowsXP 32bitのPCに、 2GBのメモリを二つ積んでいるのですが、 表示では『2.00GB RAM』となっています。 メモリの診断もしたのですが、異常は無い様なのです。 (http://9600.dip.jp/pc/customize/memtest/memtest.html  ↑のサイトのやり方でやりました。) 2GBを二つだと、「上限3GB」が2GBになってしまうのですか? それともまた別の理由があるのでしょうか。

  • 32bitのアプリは、64bitOS上ではメモリが4GB以上使われるか

    32bitのアプリは、64bitOS上ではメモリが4GB以上使われるのでしょうか? PCのメモリは8GBを積んでおります。3DCGソフトは32bit版です。 32bitのソフトのままでOSを64bitに変えた場合、 8GBのメモリは、有効に使えますか?

  • WindowsXPで6GBのメモリを使えるのでしょうか?

    最近のサーバー用のマザーではレジスタードのメモリを使って8GBメモリとか16GBメモリとかありますが、このマザーでOSに普通のXP(WindowsXP32Bitバージョン)をつかって4GBオーバーのメモリ空間を使うことは可能なのでしょうか? やっぱりLinuxとか使うか、WindowsXP64bitエディションが出るまで待たないといけないんでしょうか? 無知ですみません。どなたか教えて下さい。

  • WindowsXP(32bit) OSにメモリ4GBを増設しても効果は薄いの?

    近々、PCを組もうと考えています。 最近、メモリの価格が低いとの事で、 2GB×2 計4GBのメモリを搭載しようと検討しています。 OSは、WindowsXP(32bit版)をインストールしようと考えています。 32bit OSでは、メモリが4GBフルで認識しないという事は知っているのですが、 その際、32bit版という事が影響して、 OS上で認識されると思われる、「3.?GB本来」のパフォーマンスが低下するはあるのでしょうか? BIOSは認識されているとの質問を多く見かけるので、 「ハードウェア的な部分であると思われる(?) デュアルチャンネル等の機能は影響しないんじゃないかな。」 と、予想してるのですが、 OS側で半端に表示されているという事はデュアルチャンネル等も影響してくるものなんでしょうか? 今後、64bit版対応アプリケーションが一般的に普及される頃に 64bit版に乗り換える事を考えております。 また、 私的には、メモリ増設の際に前のメモリが余ってしまったりしてしまう事が多いので、 その時に使い回しが効き易い、リセールバリューの高い 2GBメモリがいいかなと考えております。 もし、他にもデメリットがある場合、アドバイスいただけると幸いです。

  • VB2008アプリをWindowsXPで実行するには

    VB2008でビルドされたアプリがあります。 これをWindowsXP上で実行したいのですが、Windows Updateから.NET FrameWork3.5をインストールし、PCを再起動しましたが、EXEを起動するとアプリケーションエラーとなってしまいました。 何か足りないのでしょうか?

  • Win7の32Bitなら、MEM4GBは無意味?

    よく雑誌を読むと、「メモリは多ければ多いほど良い」と書いてあります。 しかし、Win7では「64Bit版なら4GBのメモリをフルに活用できます」とも聞きます。これはどういうことでしょうか。32Bit版では4GB積んでも無駄と言うことなのでしょうか? 周辺機器の互換性や使用するアプリの関係上32Bit版を選ぼうと考えているのでメモリ搭載量を迷っています。

  • 32bit版だと2GBしか使えない?

    環境 OS:Windows 2003 Server(32bit) CPU:Intel(R) Xeon(TM) CPU 3.60GHz メモリ:3.25GB RAM DB:Oracle9.2.0.1.0 上記WinサーバーにOracleを入れています。 Oracleに割り当てているメモリは2GB近くまで設定していますがネットで調査すると32bit版のWinではアプリケーションに割り当てできるメモリは最大2GBまでと書かれていました。 その他のメモリはカーネルに設定されているとのことです。 これは本当のことなのでしょうか? よろしければ上記内容が書かれているマイクロソフトの公式サイトを教えていただけないでしょうか? というのも最近Oracleが不安定になっており、メモリ拡張の検討に入っている為です。 アドバイスお願い致します。

  • WindowsXP SP3に3GB以上のメモリを搭載したい

    WindowsXP SP3に3GB~4GBのメモリを搭載するメリットについて教えてください。 ご存知のように、XP(32bit)では4GBの壁というのがあり、また、OS自体が600MB程度?のメモリを常時占有し、さらに、アプリケーションが利用できる最大メモリも2GBに制限されているらしいですね。 そこで気になったのですが、2GB搭載しているPCの場合、上記のとおり、OSが占有している部分を除けば、1.4GB程度空きがあるため、アプリケーションは1.4GBまで使用可能ですよね。 3GB搭載すれば、OS占有を除けば2.4GBの空きができることになり、アプリケーションは(単体でなら)上限の2GBまで使用できる計算になって、実質、0.6GB分有効利用できるのではないかと思っています。 さらにXPの制限いっぱいである4GBまで搭載すれば、OS占有を除いた3.4GBが全アプリケーションで使用可能になり、各アプリの上限は2GBのままでも、多くのアプリケーションが2GBあるいは3GBのときよりも快適に動作するのではないかと考えております。 この考えは正しいでしょうか、誤りでしょうか。 他にも、3GB以上搭載すると、こういうメリットがある、というのがあれば、ぜひ教えてください。 RAMディスク化については、まったく興味がないですので、除外していただければと思います。 グラフィックメモリへの割り当てについても、オンボードではないので、検討対象外と考えておりますし、オプションで、アプリケーションへの割り当てメモリ上限を変えるというのも、少し怖いので遠慮させていただきたいです。 ちなみに、PCの主な使い方はネットゲーム、メール、動画再生や編集、画像編集といったところです。 よろしくお願いします。

  • OSがXPpro 32bit でメモリ8GBを積んで、vmware上で

    OSがXPpro 32bit でメモリ8GBを積んで、vmware上でゲストOS2台に対してメモリを2GBずつ割り当てた場合、ホストの8GBのメモリを有効に使うことは可能でしょうか。 OSが32bitの場合、1つのアプリケーションに対してメモリ空間は4GBまでという制限があるという認識は正しいでしょうか。 上記の認識が正しい場合、vmware(ゲスト2台)にメモリを4GB割り当てても、ホスト側に4GB割り当てられるので、スワップ等は発生しないということでよいでしょうか。 もしくは、ホストOSをWindows7の64bitした方がよい思うのですが、ホストに既存の業務アプリケーションをインストールしたいので、それができない状態です。

  • IE9の32bit版と64bit版の違いについて

    こんにちは。 OSは現在、64bit版のWindows7を使っています。 それにIE9がインストールされており、IE9の実行ファイルは "C:\Program Files(x86)\Internet Explorer\iexplore.exe" "C:\Program Files\Internet Explorer\iexplore.exe" の2つが存在します。 上が32bit版、下が64bit版です。 一般に、OSが64bit版の場合、64bit版のアプリケーションの方が、 32bit版のアプリケーションよりも動作速度が速いと聞いたいのですが、 このことは、IEにも当てはまるのでしょうか? あと、OrbitDownloader、RealPlayer、Silverlightといった、 僕がよく使うWebアプリが、64bit版のIEでは使えないのですが、 これは各アプリがアップデートによって、64bit版のIEに対応しない限り、 利用する事はできないのでしょうか? 以上の件について何かご存知の方がいらっしゃれば、是非教えて頂きたいと思います。 では、よろしくお願い致します。