Windows Server 2003はEditionによって以下のように使用可能なメモリが制限される。
Standard Edition 4GB
Enterprize Edition 8GB
Datacenter Edition 64GB
しかし実際にユーザー空間で使えるメモリは2GBに限られており、
残りの2GBはカーネル空間で使われるような仕様になっている。
(IA32アーキテクチャの仕様)
これではOracelやSQL Server、Exchange Serverなど1プロセスで
大量のメモリを必要とするアプリでは足りなくなってしまう事がある。
そこで、Windows2003には/3GBと/Userveという二つのスイッチを用いて、
ユーザー空間領域を2GB~3GBの間でチューニング出来るようになっている。
/3GBスイッチは2000 Serverの頃からあり、これはユーザ空間領域を3GBにして、
カーネル空間を1GBにするよ、というオプション。
/Userveは2003の新機能で、/3GBにて割り当てたメモリを、さらに細かく制御できる。
例えば/Userveに2900と指定した場合、3072(/3GB)-2900(Userve)の差分メモリ分
カーネルに返される。つまり上記の指定だと1172MBがカーネルモードで使えるようになる。
このようにして、メモリのチューニングが可能です。
ちなみに二つとも設定はBoot.iniファイルで行えます。
下記のようなオプションを追記するのみです。
[Boot Loader]
Timeout=30
Default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[Operating Systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows Server
2003"/fastdetect /3GB /Userva=2900
ちなみにBoot.iniはルートパーティション直下にあります。
これをテキストエディタで手動で編集するかもしくはmsconfigでも編集可能です。
最後に、PAEについて少し。
PAEとは物理アドレス拡張の事で、4GBを超えるメモリを認識させるスイッチです。
例えば8GBのメモリを積んでいて、OSはEnterprize Editionを使っているにも関わらず
OSがメモリを4GBまでしか認識してない場合などに使用するものになります。
OSが4GBまでしか認識してなければ当然アプリでも認識されないので、
残りの4GBは全く使用されない事になります。
それで困るので/PAEというオプションが存在しています。
では実際にはどのような動作になるかと言うと、
PAEが有効になると、AWE(Address Windowing Extensions)が4GBを
超えるメモリを予約できるようなります。
AWEはユーザ空間の2GB(/3GBオプションなしの場合)のなかに
4GB以上のメモリをマッピングする為の領域を確保します。 (AWE Window)
4GB以上のメモリを使用する場合、このAWE Windowを通じて使われるという仕組みです。
ただしアプリ側にもAWEの対応が必用なので、設定変更やリコンパイルが生じたり、
対応が行われていない場合System Cache用としてしか使えなかったりなど問題もあります。
なのでぶっちゃけIA64を使用したほうが手っ取り早いです。
最後にPAEのオプションだけ記述。
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server
2003, Enterprise" /fastdetect /PAE
Standard Edition 4GB
Enterprize Edition 8GB
Datacenter Edition 64GB
しかし実際にユーザー空間で使えるメモリは2GBに限られており、
残りの2GBはカーネル空間で使われるような仕様になっている。
(IA32アーキテクチャの仕様)
これではOracelやSQL Server、Exchange Serverなど1プロセスで
大量のメモリを必要とするアプリでは足りなくなってしまう事がある。
そこで、Windows2003には/3GBと/Userveという二つのスイッチを用いて、
ユーザー空間領域を2GB~3GBの間でチューニング出来るようになっている。
/3GBスイッチは2000 Serverの頃からあり、これはユーザ空間領域を3GBにして、
カーネル空間を1GBにするよ、というオプション。
/Userveは2003の新機能で、/3GBにて割り当てたメモリを、さらに細かく制御できる。
例えば/Userveに2900と指定した場合、3072(/3GB)-2900(Userve)の差分メモリ分
カーネルに返される。つまり上記の指定だと1172MBがカーネルモードで使えるようになる。
このようにして、メモリのチューニングが可能です。
ちなみに二つとも設定はBoot.iniファイルで行えます。
下記のようなオプションを追記するのみです。
[Boot Loader]
Timeout=30
Default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[Operating Systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows Server
2003"/fastdetect /3GB /Userva=2900
ちなみにBoot.iniはルートパーティション直下にあります。
これをテキストエディタで手動で編集するかもしくはmsconfigでも編集可能です。
最後に、PAEについて少し。
PAEとは物理アドレス拡張の事で、4GBを超えるメモリを認識させるスイッチです。
例えば8GBのメモリを積んでいて、OSはEnterprize Editionを使っているにも関わらず
OSがメモリを4GBまでしか認識してない場合などに使用するものになります。
OSが4GBまでしか認識してなければ当然アプリでも認識されないので、
残りの4GBは全く使用されない事になります。
それで困るので/PAEというオプションが存在しています。
では実際にはどのような動作になるかと言うと、
PAEが有効になると、AWE(Address Windowing Extensions)が4GBを
超えるメモリを予約できるようなります。
AWEはユーザ空間の2GB(/3GBオプションなしの場合)のなかに
4GB以上のメモリをマッピングする為の領域を確保します。 (AWE Window)
4GB以上のメモリを使用する場合、このAWE Windowを通じて使われるという仕組みです。
ただしアプリ側にもAWEの対応が必用なので、設定変更やリコンパイルが生じたり、
対応が行われていない場合System Cache用としてしか使えなかったりなど問題もあります。
なのでぶっちゃけIA64を使用したほうが手っ取り早いです。
最後にPAEのオプションだけ記述。
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server
2003, Enterprise" /fastdetect /PAE
スポンサーサイト
| ホーム |