• 締切済み

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 参考になりやす。 好きにやってみましたが変化なし・・・

回答No.3

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

TAROMANIA
質問者

お礼

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

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

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

TAROMANIA
質問者

お礼

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

回答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