Linuxは初めてで、メモリの制限について質問があります。
私が知っているように、Windowsでは32ビットバージョンのOSで使用できるのは2.8 GBだけですが、Linuxについてはどうでしょうか。4GB以下でもありますか?
RHEL5で実行されるJavaアプリケーションに特に興味があります。しかし、他のテクノロジーについての答えがあれば、それを聞くのは素晴らしいことです。
Linuxは初めてで、メモリの制限について質問があります。
私が知っているように、Windowsでは32ビットバージョンのOSで使用できるのは2.8 GBだけですが、Linuxについてはどうでしょうか。4GB以下でもありますか?
RHEL5で実行されるJavaアプリケーションに特に興味があります。しかし、他のテクノロジーについての答えがあれば、それを聞くのは素晴らしいことです。
それはおそらく最大で3Gバイトです(しかし、いくつかの奇妙なカーネル構成オプションはそれをおそらく3.3Gバイトに上げる可能性があります)
setrlimit(2) syscallを使用して(おそらくulimit
bashビルトインを介して)使用可能なメモリ制限を下げることができます
4Gバイトをはるかに超えるRAMを搭載した大きなアイアンがある場合は、64ビットのディストリビューションをインストールするのが理にかなっています。
たとえばgcjを使用してJavaアプリケーションを事前にコンパイルすることも検討するかもしれませんが、そのコンパイラは時代遅れであり、古いJava標準のみをサポートしています。そして、あなたがいくらかのメモリスペースを獲得できるかどうかはわかりません(そのランタイムはJVMよりもはるかに小さいため、おそらく数メガバイトです)。
RHEL5 32ビットは、ユーザープロセスとカーネルにそれぞれ3G/1G分割を提供します。
つまり、単一のプロセスは最大3Gのアドレス空間にしかアクセスできません。システム自体に4Gを超えるRAMを搭載でき、PAEカーネルを使用している場合は、そのすべてをカーネルで使用できます。また、カーネルはそのメモリをさまざまなユーザープロセスに適切に分散できるようになります。