本文目錄一覽:
如何修改jvm啟動參數
用java命令查看。
用java -option進行修改參數。
還有tomcat,eclipse啟動時通過配置文件載入的。
詳細如下:
安裝Java開發軟體時,默認安裝包含兩個文件夾,一個JDK(Java開發工具箱),一個JRE(Java運行環境,內含JVM),其中JDK內另含一個JRE。如果只是運行Java程序,則JRE已足夠;而JDK則只有開發人員才用到。
一、配置JVM內存
1.配置JVM內存的參數
-XmxJavaHeap最大值,默認值為物理內存的1/4,最佳設值應該視物理內存大小及計算機內其他內存開銷而定;
-XmsJavaHeap初始值,Server端JVM最好將-Xms和-Xmx設為相同值,開發測試機JVM可以保留默認值;
2.如何配置JVM內存分配:
(1)當在命令提示符下啟動並使用JVM時(只對當前運行的類生效)
java-Xmx128m-Xms64m-Xmn32m-Xss16mTest
(2)當在集成開發環境下(如eclipse)啟動並使用JVM時:
第一種設置方法:
在eclipse根目錄下打開eclipse.ini,默認內容為(這裡設置的是運行當前開發工具的JVM內存分配):
-vmargs-Xms40m-Xmx256m-vmargs表示以下為虛擬機設置參數,可修改其中的參數值,,另外,eclipse.ini內還可以設置非堆內存,如:-XX:PermSize=56m,-XX:MaxPermSize=128m。
此處設置的參數值可以通過以下配置在開發工具的狀態欄顯示:
在eclipse根目錄下創建文件options,文件內容為:org.eclipse.ui/perf/showHeapStatus=true
修改eclipse根目錄下的eclipse.ini文件,在開頭處添加如下內容:
-debugoptions-vmjavaw.exe重新啟動eclipse,就可以看到下方狀態條多了JVM信息。
第二種設置方法:
打開eclipse-窗口-首選項-Java-已安裝的JRE(對在當前開發環境中運行的java程序皆生效)
編輯當前使用的JRE,在預設VM參數中輸入:-Xmx128m-Xms64m-Xmn32m-Xss16m
第三種設置方法:
打開eclipse-運行-運行-Java應用程序(只對所設置的java類生效)
選定需設置內存分配的類-自變數,在VM自變數中輸入:-Xmx128m-Xms64m-Xmn32m-Xss16m
註:如果在同一開發環境中同時進行了第二種和第三種設置,則第二種設置生效,第三種設置無效,如:
開發環境的設置為:-Xmx256m,而類Test的設置為:-Xmx128m-Xms64m,則運行Test時生效的設置為:
-Xmx256m-Xms64m
(3)當在伺服器環境下(如Tomcat)啟動並使用JVM時(對當前伺服器環境下所以Java程序生效):
a.設置環境變數:
變數名:CATALINA_OPTS
變數值:-Xmx128m-Xms64m-Xmn32m-Xss16m
b.打開Tomcat根目錄下的bin文件夾,編輯catalina.bat,將其中的%CATALINA_OPTS%(共有四處)替換為:-Xmx128m-Xms64m-Xmn32m-Xss16m
二、查看配置JVM內存信息
Runtime.getRuntime().maxMemory();//最大可用內存,對應-Xmx
Runtime.getRuntime().freeMemory();//當前JVM空閑內存
Runtime.getRuntime().totalMemory();//當前JVM佔用的內存總數,其值相當於當前JVM已使用的內存及freeMemory()的總和
關於maxMemory(),freeMemory()和totalMemory():
maxMemory()為JVM的最大可用內存,可通過-Xmx設置,默認值為物理內存的1/4,設值不能高於計算機物理內存;
totalMemory()為當前JVM佔用的內存總數,其值相當於當前JVM已使用的內存及freeMemory()的總和,會隨著JVM使用內存的增加而增加;
freeMemory()為當前JVM空閑內存,因為JVM只有在需要內存時才佔用物理內存使用,所以freeMemory()的值一般情況下都很小,而JVM實際可用內存並不等於freeMemory(),而應該等於maxMemory()-totalMemory()+freeMemory()。及其配置JVM內存分配。
怎樣增加java執行內存?
方法如下:\x0d\x0a1、打開eclipse配置文件eclipse.ini,更改把-Xmx(其數值代表jvm可以使用的最大內存數)\x0d\x0a2、運行java程序時,選擇run-run configuration-arguments,輸入-Xms100M -Xmx800M(-Xms代表jvm啟動時分配的內存大小,-Xmx代表可最大分配多少內存)。\x0d\x0a\x0d\x0a3、如果修改web伺服器的內存可以通過window-preference-myeclipse-servers-伺服器名稱-伺服器名稱+版本-jdk下面修改內存。\x0d\x0a例如:-Xms512m -Xmx1024m -XX:PermSize=256m
如何設置Java虛擬機JVM啟動內存參數
-Xms128M -Xmx512M -XX:PermSize=2048m -XX:MaxPermSize=2048m -XX:-UseGCOverheadLimit -XX:+UseConcMarkSweepGC
jdk 1.6,機器內存8g
如何設置java內存限制
1、ide一般run時可設置內存大小,如eclipse設置如下
eclipse安裝後,在安裝目錄有個config.ini文件,內容如下:
-vmargs
-Xms40m
-Xmx256m
或是 其實也很簡單。打開Eclipse包,在Contents/MacOS 目錄下有一個 eclipse.ini 文件,
用編輯工具打開他,把Xms128m更改成Xms256m。
這個文件用來配置eclipse啟動時候的內存分配方案,Xms是初始化內存大小,Xmx是最大可使用內存大小,這個默認的配置是eclipse資源消耗最小化的配置。如果你的項目比較大,這個配置必須改,一般適當調整為128,384即可,若項目更大一些則調整的再大一些,根據實際情況決定。這個參數配置的大小很關鍵,太小,eclipse垃圾回收會過於頻繁導致很慢,或者內存堆棧溢出而崩潰。太大,eclipse會吃掉大量內存,垃圾回收周期變長,但每次回收會很慢,影響使用。所以你在配置的時候需要權衡,嘗試!
2、web可以在web容器中設置相關大小
3、一般寫代碼時,如果會用到大內存時,要注意。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/183983.html