Windows 32BitOS上で稼動するOracleのメモリの上限についての質問です。
現在、2台のクラスタで構成されたWindowsServerのOracleデータベースの移行を検討しております。
移行するサーバのスペックは以下の通りです。
OS:Windows2000 AdvancedServer(32Bit)
2台のOFSを使用したクラスタリング構成(アクティブ・スタンバイ)
DB:Oracle 9i
搭載CPU:Xeon2.80GHz ×2
搭載メモリ:2.6GB
新規に構築するサーバは以下の構成を検討しています。
OS:Windows2003Server EnterPriseEdition(32Bit)
2台のOFSを使用したクラスタリング構成(アクティブ・スタンバイ)
DB:Oracle 9i
搭載CPU:Xeon2.93GHz(4Core)
搭載メモリ:4.0GB
要件として、OracleのVersionUp、64Bitへの変更の検証が出来ないとなった為、上記構成になりました。
現在、複数のDBインスタンスをクラスタグループ化して稼動させています。
移行にあたって、DBインスタンスを増やしたいという要件が出た為、合わせて新規構築するサーバのメモリの増強を検討しております。
そこで、32BitOS上での4GB以上のメモリの搭載について質問させて下さい。
Windows2003Server EnterPriseEdition(32Bit)では、最大64GBまでメモリを搭載できますが、32Bitで作成されたアプリケーションでは、1プロセスあたり最大2GBまでしか使用出来ないという点までは認識しております。
この、最大2GBという制約はOS上のプロセス一つ一つが2GB以上メモリを使用出来ないという認識であっていますでしょうか。
Oracleサーバ上で複数のDBインスタンスを稼動させた場合、プロセス:Oracle.exeが複数起動することになりそれぞれのメモリの使用量が2GBまでと考えております。
その為、1インスタンスで2GB以上のメモリを消費するようなアプリケーションの構築は32Bitのアプリケーションという時点で不可能だと思いますが、複数のインスタンスを稼動させる(=複数のOracleプロセスを立ち上げる)場合、4GBを超えて大量のメモリを搭載することは意味があると考えています。
※この場合、4GBという数字自体は意味が無いと思います。
CPU、DiskI/O等、Networkその他が、システムのボトルネックにはならないという前提で考えた場合、この観点で32BitOSでメモリの増強を検討するという認識は合っていますでしょうか。
以上、宜しくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
このあたり、私もMSのKB等で見聞きしただけなので、間違っているかもですが…
まずAWEについては、先の回答で紹介したページの以下の部分を見ていただければ概要がわかるかと思います。
----
AWE は、メモリ マネージャ機能を利用するための一連の API (アプリケーション プログラミング インターフェイス) です。プログラムで AWE を使用することにより、標準の 32 ビットのアドレス指定によって使用可能な 4 GB を超えるメモリをアドレス指定することができます。
----
----
AWE は、プログラムが大きなメモリ範囲を予約するための API です。
----
----
4 GB を超えるメモリの範囲は、PAE によってメモリ マネージャと AWE 機能に公開されます。PAE がなければ、AWE は 4 GB を超えるメモリを予約できません。
----
つまり、PAEにてOSが4GB超のメモリを管理できる様にし、AWEでプロセスが2GB(カーネル空間含めると4GB)のプロセス空間を超えてメモリを確保できるようにする、という物です。
AWEがAPIである以上、これに対応しているかどうかはアプリケーションに依存します。
Oracle9iがAWEに対応しているかどうかは、Oracleに聞けば教えてくれるかと思います。
余談ですが、x64版OS上で32bitアプリケーションを実行する場合、アプリケーションには4GBの「実メモリ空間」が割り当てられるそうです。
http://itpro.nikkeibp.co.jp/article/COLUMN/20051 …
>Toshi0230さん
ご回答有難うございます。
やはりそういうことなんですね。
PAEとOracleのAWEを使用するのであれば、当然その機能の検証も必要になり・・・・・・。
結局64Bitの検証を含めて提案したほうが良さそうですね。
私の認識では、プロセスが要求したメモリに対して、実メモリ(もしくは仮想メモリ)のどの部分を割り当てるのかはOSの仕事という認識があった為、OSさえ4GB以上を認識していれば複数の個々のプロセスは4GBを超えたアドレス範囲のメモリ空間に配置できる、と思ってました。
実際はやはりアプリケーション自体が直接4GBを超えるアドレスを指定出来ないとユーザープロセスの合計が2GBという制約からは逃れられないといったところでしょうか。
PAEの設定のみで大丈夫なのであれば提案も出来そうだったのですが・・・。
思いつく手としては、実メモリを5GB搭載しPAEと3GBスイッチを使用しユーザープロセスは3GB、カーネルプロセスは2GBというようなことが出来ないのかな?と考えていますが、もう少し勉強してみます。
x64版OS上で32bitアプリの話は初耳でした。でも実際にそういった構成ってありえるのかな?と思います。
No.1
- 回答日時:
>最大2GBという制約はOS上のプロセス一つ一つが2GB以上メモリを使用出来ない
その通りです。
> 複数のインスタンスを稼動させる(中略)場合、4GBを超えて大量のメモリを搭載することは意味がある
確かWindowsではOracle 1インスタンスが1つのWindows サービスとして動作していましたよね。で有れば意味はあると思います。
このあたりの情報は私の回答よりは以下のサポートページを見て頂く方が説得力有ると思います。
http://support.microsoft.com/kb/283037/ja
まぁ、個人邸には64bit OS上でOracleを動作させるとかOracleも64bit版にするとかができるのであればそうしたいと思いますが…色々あるのでしょうからこれ以上は突っ込みません:-)
>Toshi0230さん
回答ありがとうございます。
64bitOSにしたり、Oracleも64Bitにしたり・・・とは本当は私もやりたいのですがOracleDBを保守・運用しているのが弊社ではない為、他社の工数の言いなりになってしまうという・・・。愚痴っても仕方ありませんね。
もし、ご存知でしたら補足で質問させて下さい。
WindowsのBoot.iniのPAEスイッチをONにして、OS上で4GB以上のメモリを認識させる必要があるということまでは理解しております。
その上で改めて疑問なのですが、OS上のメモリを2GB以上で使用する為のAWE(Address Windowing Extensions)の設定とはプロセス(アプリケーション)毎の設定値なのでしょうか、それともOS全体の設定なのでしょうか。
参考資料に書かれている、アプリケーションで2GB以上のメモリを使用するにはAWEの設定を行ったアプリケーションプログラムでなくてはならないという文章をいたるところで発見するのですが、今回のように複数、大量のプロセスを使用した場合についての記述が見当たりませんでした。
例:PAEスイッチを使用して8GBのメモリをOS上に認識させた場合のプロセス
Oracle.exe(1) 使用メモリ 1.5GB
Oracle.exe(2) 使用メモリ 1.5GB
Oracle.exe(3) 使用メモリ 1.5GB
Oracle.exe(4) 使用メモリ 1.5GB
Oracleプロセスに限ったことでは無いと思うのですが、上記のようなプロセスが同時に1サーバ上で稼動すると合計は6GBを実メモリ上から使用しようとすることになります。
現時点では一つ一つのプロセスが2GBを超えていない為、AWEの特別な設定が必要では無いと認識しておりますが合っていますでしょうか。
AWE設定とはOS上にある2GB以上(ユーザースペースとして)のメモリ空間を使用する為の設定なのか、1プロセスが2GB以上のメモリ空間を使用する為の設定なのかという点について疑問が解消出来ませんでした。
もし、ご存知でしたら宜しくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CPU・メモリ・マザーボード 質問お願いします 「「RAM2GB+拡張4GB」などと書いてあるのは、搭載されているメモリ(RAM) 6 2023/08/28 12:31
- ノートパソコン ノートパソコンに増設したメモリをWindowsに認識させる方法 5 2022/08/24 14:03
- CPU・メモリ・マザーボード Windows10 64bitパソコンのメモリ 4GBから8GBへ増設 11 2023/01/25 18:20
- モニター・ディスプレイ フルHD6枚表示できるPCの最適構成は何でしょうか? 4 2022/11/18 19:07
- CPU・メモリ・マザーボード 自作パソコンが動きません 9 2023/01/15 17:36
- ノートパソコン ノートパソコン どちらが良いでしょうか? 5 2023/04/02 22:08
- CPU・メモリ・マザーボード メモリが使用可能にならない 3 2022/08/13 17:13
- CPU・メモリ・マザーボード メモリの増設について 6 2022/12/28 06:41
- ノートパソコン ホグワーツレガシー PC版必要スペックについて ホグワーツレガシーをPCでプレイしたいのですが、PC 3 2023/02/09 21:11
- BTOパソコン 自作pcについて。以下のもので作れるか、分かる方ご教授ください。子供が作るって言うのですが、本当にで 7 2022/08/10 09:54
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メモリの「コミット済み」の意...
-
Windows98SE ・Meの動作「上限...
-
MinecraftのJava版が起動しません
-
仮想メモリ
-
PF使用量を下げるにはどうすれ...
-
メモリ割り当ての増やし方
-
WindowsXPは何時間連続稼働でき...
-
最先端のCPUを詰んだAndroidス...
-
MacとWinのメモリの違いについて
-
Windows XPの32ビット版と6...
-
32ビットCPUのメモリについて
-
Macはなぜメモリ4GBのPCを製造...
-
文字がちゃんと打てない&重い。
-
PDAに音楽を取り込む方法について
-
パソコンについて質問なんですが
-
MacBook Proでセカンドライフが...
-
古いwindowsPCをどのように使う...
-
デュアルオペレーションって何?
-
「バックグラウンドの作業中」...
-
プロファイルエラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メモリの「コミット済み」の意...
-
Windows98SE ・Meの動作「上限...
-
最先端のCPUを詰んだAndroidス...
-
vmstatで、メモリ使用率を計算する
-
MacとWinのメモリの違いについて
-
実装メモリとタスクマネージャ...
-
皆様に聞きたいです。
-
Windows XPの32ビット版と6...
-
backing storeって何ですか?
-
仮想メモリ
-
会計ソフトJDL macで使いたい W...
-
「タスクマネージャ」で「イメ...
-
WindowsアップデートでExcelが...
-
JVM メモリ管理
-
Mac でDTM する際 Mac book air...
-
MacBook Airの買い替えについて
-
inno3D GeForce FX5600 256MBで...
-
低スペックPCで軽量Linuxを動か...
-
ポインターがかたまってしまう
-
メモリ割り当ての増やし方
おすすめ情報