Java Swing ベースのアプリケーションには、クライアント側で Java Webstart を使用します。最近、jnlp リンクをクリックすると、「Java 仮想マシンを起動できません」という奇妙なエラーが発生します。
jnlp ファイルの max-heap-size 設定が 1024m に設定されているのに対し、ほとんどのクライアント PC には 1 GB の物理メモリしかないため、すぐにわかります。max-heap-size を 512m に戻して問題を解決しました。現在、jnlp ファイルの関連行は次のようになっています。
<j2se version="1.5+" initial-heap-size="100m" max-heap-size="512m"/>
jnlp の仕様を調べましたが、「Java 仮想マシン」の問題に関連するものは見つかりませんでした。理論的には、max-heap-size は initial-heap-size ほど重要ではありません。しかし、私たちの経験はまったく逆であることを示唆していました。
クライアント環境:
Windows XP SP2 ( 32 ビット )、Internet Explorer 8.06、メモリ 1G 注 max-heap-size を 1024m に設定すると、2G RAM を搭載したマシンで同じ問題が発生する可能性があります。
基本的に、私がここで探しているのは、なぜこれが起こっているのかについての参照/仕様/経験であり、物理メモリサイズを増やす以外にこの問題を回避する方法があるかどうかです.
もう 1 つの問題は、max-heap-size を指定しない場合、実際の物理メモリ サイズが max-heap-size として使用されるのか、それともシステムのデフォルトのサイズが使用されるのかということです。
ありがとう、ジェイソンW