1. 程式人生 > >eclipse運行程序時報java.lang.OutOfMemoryError: Java heap space內存不足問題

eclipse運行程序時報java.lang.OutOfMemoryError: Java heap space內存不足問題

new 技術分享 heap could not def jvm baidu 默認 eight

System.setProperty("webdriver.firefox.bin",
        "D:\\Mozilla Firefox\\firefox.exe");

ProfilesIni pi = new ProfilesIni();
FirefoxProfile profile = pi.getProfile("default");
WebDriver driver = new FirefoxDriver(profile);
driver.get("http://hao123.com");

運行至

WebDriver driver = new FirefoxDriver(profile);

時突然報java.lang.OutOfMemoryError: Java heap space,

這個問題的根源是jvm虛擬機的默認Heap大小是64M,可以通過設置其最大和最小值來實現

JVM堆的設置是指java程序運行過程中JVM可以調配使用的內存空間的設置.

JVM在啟動的時候會自動設置Heap size的值,其初始空間(即-Xms)是物理內存的1/64,最大空間(-Xmx)是物理內存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等選項可進行設置。

例如:java -jar -Xmn16m -Xms64m -Xmx128m MyApp.jar

如果Heap Size設置偏小,除了這些異常信息外,還會發現程序的響應速度變慢了。GC占用了更多的時間,而應用分配到的執行時間較少。

Heap Size 最大不要超過可用物理內存的80%,一般的要將-Xms和-Xmx選項設置為相同,而-Xmn為1/4的-Xmx值。
Heap size的 -Xms -Xmn 設置不要超出物理內存的大小。否則會提示“Error occurred during initialization of VM Could not reserve enough space for object heap”。

-Xms <size>
設置JVM初始化堆內存大小

-Xmx <size>
設置JVM最大的堆內存大小

設置步驟:

技術分享

技術分享

填入-Xms64m -Xmx512m,然後點擊apply - > run就可以了!

參考詳情:

http://blog.csdn.net/jxzxm1_2/article/details/2499751

https://zhidao.baidu.com/question/1830186099735337420.html

http://www.cnblogs.com/zzblee/p/4038370.html

eclipse運行程序時報java.lang.OutOfMemoryError: Java heap space內存不足問題