JVM內存大小設置

一般情況下java程序容易出現java heap space 的錯誤提示,這個問題就是JVM的堆內存問題,因爲其初始值非常小,所以在不夠用的情況下要進行設置。

當然要確保你的程序正確,做的不是無限循環之類的無用功。在運行該程序時設置如下:

java -Xmx1g  -Xms1g application

-Xmx1g 設置最大可用內存爲1g

-Xms1g 設置內存初始化最小值1g

後面application爲你的JAVA程序名。

最大和最小值設置爲一樣的,是看了某貼:以避免每次垃圾回收完成後JVM重新分配內存

值的大小根據自己電腦配置而定,不能超過電腦的物理內存。有貼建議:-Xms 爲電腦物理內存的1/64 ,-Xmx爲電腦物理內存的1/4

--------------------------------------------------------------------------------------------

 

好像java 程序只有在運行時設置JVM大小,而沒有一個可以永久設置的地方(也可能是我在網上沒有搜到)

Tomcat 關於JVM的設置:

Linux中Tomcat的bin目錄中有一個叫catalina.sh的文件,在

------------------------------------------------------------------------------------------------------------------------------

eclipse.ini文件可以調整Eclipse最大使用內存:

<Eclipse_Home>下面有一個eclipse.ini文件可以調整Eclipse最大使用內存,默認如下
-vmargs
-Xms40m
-Xmx256m


調整爲:
-vmargs
-Xms40m
-Xmx256m
-XX:PermSize=64M
-XX:MaxPermSize=128M

1g內存推薦爲:
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M
 

 

對於MyEclipse的話,直接修改MyEclipse在桌面的快捷方式的參數就可以啦。現在解釋這些參數的意思。

-vmargs:說明後面是VM的參數
-Xms40m:虛擬機佔用系統的最小內存
-Xmx256m:虛擬機佔用系統的最大內存
-XX:PermSize:最小堆大小。一般報內存不足時,都是說這個太小,
                       堆空間剩餘小於5%就會警告,建議把這個稍微設
                               大一點,不過要視自己機器內存大小來設置
-XX:MaxPermSize:最大堆大小。這個也適當大些
-Xmx512M的5%爲25.6M,理論上要求-Xmx的數值與-XX:MaxPermSize必須大於25.6M

把裏面的參數改爲
-vmargs 
-Xms128M 
-Xmx512M 
-XX:PermSize=128M 
-XX:MaxPermSize=256M

所以對於我而言,我只要把我的MyEclipse5.0改-XX:PermSize=128M-XX:MaxPermSize=256M,問題解決!
 
-----------------------------------------------------------------------------
<Eclipse_Home>下面有一個eclipse.ini文件可以調整Eclipse最大使用內存,默認如下
-vmargs
-Xms40m
-Xmx256m


調整爲:
-vmargs
-Xms40m
-Xmx256m
-XX:PermSize=64M
-XX:MaxPermSize=128M

1g內存推薦爲:
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M
 

 

對於MyEclipse的話,直接修改MyEclipse在桌面的快捷方式的參數就可以啦。現在解釋這些參數的意思。

-vmargs:說明後面是VM的參數
-Xms40m:虛擬機佔用系統的最小內存
-Xmx256m:虛擬機佔用系統的最大內存
-XX:PermSize:最小堆大小。一般報內存不足時,都是說這個太小,
                       堆空間剩餘小於5%就會警告,建議把這個稍微設
                               大一點,不過要視自己機器內存大小來設置
-XX:MaxPermSize:最大堆大小。這個也適當大些
-Xmx512M的5%爲25.6M,理論上要求-Xmx的數值與-XX:MaxPermSize必須大於25.6M

把裏面的參數改爲
-vmargs 
-Xms128M 
-Xmx512M 
-XX:PermSize=128M 
-XX:MaxPermSize=256M

所以對於我而言,我只要把我的MyEclipse5.0改-XX:PermSize=128M-XX:MaxPermSize=256M,問題解決!
發佈了9 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章