SQL Server のAWE Windowサイズ [SQL Server]
32bitのWindowsサーバ上でSQL Serverを使う場合、昨今のメモリの大きさから言えば
おそらくAWEを使う必要があるのではないかと思います。
通常32bitOSではユーザの仮想メモリ空間は2GBに制限されます。
この制限を大きくするには2つの方法があり、OSのブートオプションに3GBオプションを設定するか
PAEオプションを設定することです。
(同時には使わない方が良いです)
前者はカーネル仮想メモリ空間を2GBから1GBに減らすことにより、ユーザの仮想メモリ空間を
3GBに拡張します。
後者は2GBのユーザ仮想メモリ空間にAWE Windowという窓を作り、そこから4GBを超える物理メモリを
マッピングし、プログラムから利用します。
AWE領域を使うにはそれなりの手順があり、通常のアクセス方法と違うためPAEを利用するには
プログラムがAWE対応している必要があります。
SQL ServerのRDBMSはAWE対応したプログラムです。
(SSASやSSRSはAWE対応していません)
と前置きはここまでにして、じゃあ2GBのうち、どれくらいがAWE Windowとして利用されているのか
気になったので調べたところ、
「AWEが有効な場合、DMVのsys.dm_os_sys_infoにあるbpool_visibleの値がAWE Windowの大きさを示す」
ことがBooks OnlineやInside SQL Serverに書いてありました。
http://msdn.microsoft.com/ja-jp/library/ms175048.aspx
OracleでAWEを使うときは自分で必要な領域を計算してレジストリに書き込みますが、
SQL Serverは自動計算してくれています。SQL Serverでもサイズ指定できたりするのでしょうか・・・
今の流れでは、32bitのプロダクトはどんどん少なくなっているのですが、
まだまだ現役で動いているところも多いのでメモがてら。
おそらくAWEを使う必要があるのではないかと思います。
通常32bitOSではユーザの仮想メモリ空間は2GBに制限されます。
この制限を大きくするには2つの方法があり、OSのブートオプションに3GBオプションを設定するか
PAEオプションを設定することです。
(同時には使わない方が良いです)
前者はカーネル仮想メモリ空間を2GBから1GBに減らすことにより、ユーザの仮想メモリ空間を
3GBに拡張します。
後者は2GBのユーザ仮想メモリ空間にAWE Windowという窓を作り、そこから4GBを超える物理メモリを
マッピングし、プログラムから利用します。
AWE領域を使うにはそれなりの手順があり、通常のアクセス方法と違うためPAEを利用するには
プログラムがAWE対応している必要があります。
SQL ServerのRDBMSはAWE対応したプログラムです。
(SSASやSSRSはAWE対応していません)
と前置きはここまでにして、じゃあ2GBのうち、どれくらいがAWE Windowとして利用されているのか
気になったので調べたところ、
「AWEが有効な場合、DMVのsys.dm_os_sys_infoにあるbpool_visibleの値がAWE Windowの大きさを示す」
ことがBooks OnlineやInside SQL Serverに書いてありました。
http://msdn.microsoft.com/ja-jp/library/ms175048.aspx
OracleでAWEを使うときは自分で必要な領域を計算してレジストリに書き込みますが、
SQL Serverは自動計算してくれています。SQL Serverでもサイズ指定できたりするのでしょうか・・・
今の流れでは、32bitのプロダクトはどんどん少なくなっているのですが、
まだまだ現役で動いているところも多いのでメモがてら。
コメント 0