2

プロジェクトの 1 つで Portico を使用して、複数のマシンで実行されている同じアプリケーションの複数のインスタンス間でネットワーク経由でオブジェクトを共有しようとしています。

Windows7 64ビットを使用しています。

3 種類のオブジェクトがあるとします。A、B、C。

オブジェクト A のサイズ: 300 バイト程度 オブジェクト B のサイズ: 700 バイト程度 オブジェクト C のサイズ: 1200 バイト程度

アプリケーション間で objA と objB を共有できます。しかし、objC を共有するとすぐに、ログにエラーがスローされます。長さ 1213 バイトのメッセージの送信中にエラーが発生しました。java.lang.OutOfMemoryError Java ヒープ領域です。

また、VirtualVM でアプリケーションのヒープ サイズを追跡しています。以下は私が取得した情報です。

objA 送信時 : 最大ヒープ サイズ : 64 MB ヒープ サイズ : 2.5 MB 使用ヒープ : 1.8 MB

objB 送信時 : 最大ヒープ サイズ : 64 MB ヒープ サイズ : 2.5 MB 使用ヒープ : 2.0 MB

ここで注意してください: ヒープ サイズは 64 KB になりますが、使用されるヒープ サイズはほとんど変わりません。

objC 送信時 : 最大ヒープ サイズ : 64 MB ヒープ サイズ : 64 MB 使用ヒープ : 2.0 KB

そこで、次のコマンドを使用してヒープ サイズを増やしてみました。

java -Xms1024m -Xmx1024m -jar portico.jar

しかし、それはエラーをスローしました:エラー:メインクラスorg.portico.rti.Mainが見つからないかロードできませんでした

次に、Windows 7 64 ビットで portico をコンパイルしようとしましたが、JVM に関連するリンク エラーが発生しました。最新のJDK 1.7を使用しています。また、クライアント VM は 64 ビットでは使用できないため、サーバー VM を使用していました。

そこで、クライアント VM を使用して 32 ビット Windows 7 でポルティコを構築してみました。ビルドは成功しましたが、メイン クラス ファイルをcodebase\build\java\classes\org\portico\rti\Main.classで見つけることができませんでした。したがって、上記と同じコマンドを classpath とともに使用しようとすると、次のようになります。

java -cp ......\build\java\classes -Xms1024m -Xmx1024m -jar portico.jar

それは再び同じエラーをスローしました:エラー:メインクラスorg.portico.rti.Mainが見つからないかロードできませんでした

どうすればこれを解決できますか。それは私を夢中にさせています。みんな助けてください。

4

0 に答える 0