6

コマンドラインから実行された実行可能 jar が、Eclipse から実行された同じプロジェクトよりもはるかに多くの RAM (私の場合は約 7 倍) を使用するのはなぜですか?

プロジェクトの開発中に、Eclipse からアプリケーションを実行し (Run->Run)、実行可能な JAR を作成してコマンド ライン (Windows ) RAM の使用量は約 450MB です。また、Eclipse の [実行] -> [実行] から実行するよりも、コマンド ラインから実行する方が、RAM 使用量の変化の幅が大きくなります。

4

2 に答える 2

3

これはおそらく、Eclipse がアプリケーションを起動する JVM 設定に関係しています。Jar を起動すると、Java はメモリに関してどの設定を使用するのが最適かを推測します。javaコンソールで次のコマンドを使用して、使用するメモリのサイズを変更できます。

java -Xms64m -Xmx256m -cp your.jar

-Xms??m最小ヒープ サイズを mb で設定します。
-Xmx??m最大ヒープ サイズを mb で設定します。

Java は、Eclipse によって指示されていないため、おそらく自動的により大きなヒープ サイズを自動的に選択しています。

于 2012-12-19T21:33:15.307 に答える
2

日食では、ラムを他のサービス/アプリケーションと共有する必要があります。ただし、コマンドラインでは制限はありません。コマンド ラインでは、アプリケーションを起動して RAM を制限することもできます。こうすることで制限できます

java -Xmx256M -Xms256M -cp /*.jar
于 2012-12-19T21:29:01.783 に答える