ヒープはRAMの一部ですが、RAMの一部を超えるヒープサイズを定義できないという制限があります。例:-32ビットのwinodwsxpOSと4GBのRAMがあります。しかし、1600MBを超えるヒープサイズを宣言することはできません。ここでの私の質問は、ヒープサイズを4GBのRAMよりも低い3GBなどの大きな値に宣言できない理由です(32ビットの場合は最大4GBのRAMを使用できます)?これは単一プロセスに当てはまります。
つまり、それぞれに1600MBのヒープサイズを割り当てる2つのTomcatまたはその他のJavaプロセスを開始できますが、1つのプロセスに3200MBを割り当てることはできません。その背後にある理由は何ですか。