我们用java在webstart在客户端的的Java Swing基于aplication。最近我们在点击jnlp链接时遇到了一个奇怪的“无法启动java虚拟机”错误。的Java Webstart的最大堆大小导致JVM无法启动
我们很快就找到了它,因为在JNLP文件最大堆大小设置被设置为1024M,而大部分客户PC的只有1 GB的物理内存。将max-heap-size设置回512m解决了问题。 目前,在JNLP文件中的相关行看起来像
<j2se version="1.5+" initial-heap-size="100m" max-heap-size="512m"/>
我看着JNLP规范,却找不到相关的“Java虚拟机”问题什么。理论上,最大堆大小不应该像初始堆大小一样重要。但我们的经验暗示恰恰相反。
客户端环境:
的Windows XP SP2(32位)时,Internet Explorer 8.06,内存1G 注最大堆大小设置为1024米可与2G内存的机器上导致同样的问题。
基本上,我期待在这里是为什么这种情况正在发生一些参考/规格/经验,如果有任何GET-一轮针对此问题除了增加物理内存的大小。
另一件事是,如果我们把最大堆大小的指定,将实际的物理内存的大小作为最大堆大小,或系统默认的将被使用?
感谢, JasonW
非常有用的链接。谢谢。它还是监督我,没有什么(至少我无法找到任何东西)有关的JNLP最大堆大小的参数要求。 – 2010-08-24 00:31:44