我們用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