サイト移設しました。技術情報をwww.putise.comで更新しています。

32bitマシンのプロセスメモリ制限(プロセスアドレス空間とユーザーモードアドレス空間) linuxとwindows

32bit マシンのメモリプロセスアドレス空間は、WindowsもLinuxも基本4GBという制限がある。

 

各プロセス毎に4GBというプロセスアドレス空間を与え、物理メモリとマップして使う。

 

このプロセスアドレス空間のうち・・・、

 

Linuxでは3GBがユーザーモードアドレス空間(プロセスが自由にメモリを割り当てれる空間)、残りの1GBがカーネルモードのアドレス空間。

 

Windowsでは2GBがユーザーモードアドレス空間(プロセスが自由にメモリを割り当てれる空間)、残りの2GBがカーネルモードのアドレス空間。

 

Windows 32bit のマシンの場合、通常1つのプロセスが自由にメモリを使用できる領域は2GBとなり、これ以上のメモリを使用でない。

 

WindowsのバージョンやEditionによっては、/PEA /3G オプションがあり、3GオプションはLinuxと同様、プロセスが3GBのメモリを自由に使用できるようになる。

 

Windows 2000 Server + SQL Server 2005 Standerd Editionなんかの場合は、2GB以上のメモリをSQLサーバーが使用できずディスク-メモリ間のボトルネックが生じることがある。

参考情報

 

プロセス アドレス空間

http://msdn.microsoft.com/ja-jp/library/ms189334.aspx

 

SQL Server 2005 Tips and Tips 第 6 回 2 GB を超える物理メモリを SQL Server が使用できるように設定しよう

http://www.microsoft.com/japan/sqlserver/2005/ssj/tips/06.mspx

 

第4回 プロセス・メモリー管理 

http://page-344923915/