メモリについて

http://www.beasys.co.jp/cs/support_news/product_troubleshooting/Investigating_Out_of_Memory_Memory_Leak_Pattern.html#Java
http://edocs.beasys.co.jp/e-docs/wljrockit/docs142/tuning/config.html#1012706

32 ビット プラットフォームで通常のオペレーティング システムを実行している場合、プロセスは 2GB 未満に制限されます。さらに、このメモリはヒープだけでなく他のあらゆる用途に使用されます。その中には、アプリケーション、生成コード、スレッドスタック、ヒープ コントロールなどに使用されるすべての JNI メモリも含まれます。ヒープに 1.8GB 以上を使用することもできますが、これは通常はお勧めできません。通常、初期ヒープは 1.6GB までとします。

64 ビット プラットフォームはポインタ サイズによって物理的に制限されることはなく、プロセスサイズをサポート限界まで大きくすることができます。この場合に制限となるものは、通常は搭載されているメモリ量ですが、オペレーティングシステムのバージョンによってさらなる制限が課されることもあります (たとえば、Windows Server 2003/Itanium では、EE 版を使用しない限り、16GB しかサポートされません)。

BEA JRockit の 1.4.2 (24.5.0) までのバージョンには、32 ビット インデックスを使用するヒープ用のポインタセットがあります。そのため、24GB を超えるヒープでは JVM がクラッシュします。

使用ハードウェアに十分なメモリが搭載されている (つまり、Java プロセスとオペレーティング システムの両方にとって十分なメモリがある) ことを前提にしているリリース間では同様のパフォーマンスを経験するはずです。

http://www.alde.co.jp/information/linux/memoryoflinux.html
32bit CPUはメモリを4GBしか使うことができない 【▲→川俣晶の縁側→IT都市伝説】
カーネルのタイプについて

  • kernel-smp
  • kernel-hugemem
  • PAE

http://www.microsoft.com/japan/whdc/system/platform/server/PAE/default.mspx

http://www.unixville.com/~moazam/2004/06/03.html
32bit と 64bit の差異 - QA@IT