私は、JavaVM(Sun、Linux)の実際のフットプリントが、JVMの複数のプロセスを起動するときの開始点であることを知りたかっただけです。私がよく覚えているときには、それらはrt.jarを共有する必要があります。それらのJVMはJITキャッシュを共有しますか(すべてのJVMは同じクラスパスを使用します)。JVMのメモリフットプリントは何ですか?どのように最小化できますか?
マルチインスタンスJVMのオーバーヘッドを減らすためにできることはありますか? (ヒープの制限を小さくすることの横に)?
アプリケーションのプログラミング中にできることは何ですか?
メモリ領域を共有できますか?多分マップされたメモリブロックを共有しますか?
あなたが複数のJVMを起動する必要がありますなぜ?なぜそれをしたいのかという理由がありますが、あなたの理由は何ですか? –
複数のJVMを使用しているのであれば、それは正当な理由であり、各JVMのメモリオーバーヘッドは、実行しているマシンに比べてかなり小さいはずです。 –
シンプルな、開発中に私は単一のプロセスで何かを持っています。配備中に、単純さよりむしろ安定性を助けるために、さまざまなプロセスにさまざまな部品を配置できるのだろうかと思います。あなたに例を挙げましょう。 Linuxで最近のChromeバージョン+ Seleniumを起動した場合、プロセスが滞ってロックアップする確率は約25:1です。彼自身のプロセスにそれを置くことによって、それは時間がかかりすぎると彼はクロムプロセスを殺す、答えです。別のシナリオでは、C++コードを実行して、独自のプロセスでそれを分離しても、JVMに障害が発生してもクラッシュすることはありません。 –