eclipse 下調整jdk和tomcat的jvm參數

來源:互聯網
上載者:User

標籤:

eclipse 下調試和運行,往往會出現調整java.lang.OutOfMemoryError: Java heap space 

產生的原因我猜測是使用了maven,subversion,mylar,wtp等外掛程式,還有就是大檔案,對象的操作導致,具體原因還不確定。 

在網上找了找相關資料,找到瞭解決辦法:方法(1)操作後沒有起作用,不過可以參考其中查看記憶體的技巧 .具體解決看方法(2),(3)

一 、在eclipse根目錄,找到eclipse.ini,在其中指定初始heap 
size和最大heap size: 
-xms 64M 
-xmx 
256M 
其中, -xms是初始heap size, -xmx 是最大heap 
size。 

在實際使用過程中,我發現我一啟動eclipse時,heap 
size使用大概是40m,多時可以達到128m,所以我的設定是 
-xms 
64m 
-xmx 128m 
對於permgen space: 
在eclipse.ini中指定參數: 
-permsize 
256m 
-maxpermsize 
784m  

二 、修改jdk 使用記憶體(此方法可行)

找到eclispe 中window->preferences->Java->Installed JRE ,點擊右側的Edit 
按鈕,在編輯介面中的 “Default VM Arguments ”選項中,填入如下值即可。

-Xms64m -Xmx128m

三、    修改Run Configurations (此方法可行)

在代碼上右鍵,依次點擊“Run As ”-> “Run Configurations ”,在Arguments 參數中的“VM arguments: 
”中填入如下值即可。

-Xms64m -Xmx128m

四、    查詢當前JVM 記憶體代碼

下面是查詢當前JVM 記憶體大小的代碼,可以測試以上設定後JVM 的記憶體是否會變化。增加JVM 記憶體的配置項後,無需重新啟動eclipse 
。具體的代碼如下:

public class TestMemory {
    public static void main(String[] args) {

       System. out .println( " 記憶體資訊 :" + toMemoryInfo ());

    }

    public static String toMemoryInfo() {

       Runtime currRuntime = Runtime.getRuntime ();

       int nFreeMemory = ( int ) (currRuntime.freeMemory() / 1024 / 
1024);

       int nTotalMemory = ( int ) (currRuntime.totalMemory() / 1024 / 
1024);

       return nFreeMemory + "M/" + nTotalMemory + "M(free/total)" ;
    
}
}

也可以把工程發布成war包部署到存在管理主控台host-manager的tomcat下.進入控制台選擇status查看記憶體的使用方式.

設定好了,實際啟動並執行結果可以通過Eclipse中“Help”-“About Eclipse SDK”視窗裡面的“Configuration Details”按鈕進行查看。還有一個辦法可以在eclipse中看到當前heap size的分配和使用方式,還可以強制執行記憶體回收。 
在eclipse的捷徑上點擊右鍵,在目標欄添加參數: 
-debug 
options -vm 
javaw.exe 
然後,在eclipse根目錄下,建立一個名為options的檔案,不要尾碼名。在該檔案中加入內容: 
org.eclipse.ui/perf/showHeapStatus=true 
重啟eclipse,就可以在eclipse的左下角看到當前heap 
size的使用方式和分配情況了,還可以手工執行記憶體回收,看heap size不夠時就來一次。

eclipse 下調整jdk和tomcat的jvm參數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.