64ビットの32ビット:複数のプロセスのメモリ使用量

64ビットの32ビット:複数のプロセスのメモリ使用量

私はゲームサーバーソフトウェア用のLinuxホスティングソリューションを開発していますが、ソフトウェアは32ビットで、コンソールでは64ビットを実行します。これで、32ビットchroot刑務所(またはマルチストレージシステム)の64ビットホストで32ビットアプリケーションを実行できることがわかりましたが、前者を使用してファイルシステムから分離する予定です。すべての32ビットアプリケーションで合計4 GB以上のRAMを使用していますか?

それぞれ2GBを使用する3つの32ビットゲームサーバープログラムがあるとします。最初の2つのプログラムの合計サイズが4 GBになるとどうなりますか?では、3番目のプログラムを実行できますか?

私は64ビットユーザーモードLinuxカーネルで32ビットユーザースペースを実行してこの問題を解決したかったのですが、あえてそれを行うことはできません。64ビットUMLカーネルで32ビットユーザー領域を実行できません。。 32ビットユーザースペースで32ビットUMLカーネルを実行できるようですが、同じメモリ条件に直面するので、chroot刑務所を代わりに使用できますか?

答え1

各プロセスは独自のアドレス空間で実行され、32ビットは各プロセスのアドレス空間を約3 GBに制限します。 32ビットアプリケーションで使用される総メモリ量はまったく関係ありません。歩き回ることはありません。

これが問題なら、Chroot Jailは助けることができません。ファイルパスにのみ影響します。

関連情報