1

Linuxは初めてで、メモリの制限について質問があります。

私が知っているように、Windowsでは32ビットバージョンのOSで使用できるのは2.8 GBだけですが、Linuxについてはどうでしょうか。4GB以下でもありますか?

RHEL5で実行されるJavaアプリケーションに特に興味があります。しかし、他のテクノロジーについての答えがあれば、それを聞くのは素晴らしいことです。

4

2 に答える 2

3

それはおそらく最大で3Gバイトです(しかし、いくつかの奇妙なカーネル構成オプションはそれをおそらく3.3Gバイトに上げる可能性があります)

setrlimit(2) syscallを使用して(おそらくulimitbashビルトインを介して)使用可能なメモリ制限を下げることができます

4Gバイトをはるかに超えるRAMを搭載した大きなアイアンがある場合は、64ビットのディストリビューションをインストールするのが理にかなっています。

たとえばgcjを使用してJavaアプリケーションを事前にコンパイルすることも検討するかもしれませんが、そのコンパイラは時代遅れであり、古いJava標準のみをサポートしています。そして、あなたがいくらかのメモリスペースを獲得できるかどうかはわかりません(そのランタイムはJVMよりもはるかに小さいため、おそらく数メガバイトです)。

于 2012-11-01T17:50:16.187 に答える
3

RHEL5 32ビットは、ユーザープロセスとカーネルにそれぞれ3G/1G分割を提供します。

つまり、単一のプロセスは最大3Gのアドレス空間にしかアクセスできません。システム自体に4Gを超えるRAMを搭載でき、PAEカーネルを使用している場合は、そのすべてをカーネルで使用できます。また、カーネルはそのメモリをさまざまなユーザープロセスに適切に分散できるようになります。

于 2012-11-01T18:02:26.330 に答える