Eclipse中你一定見過-vmargs -Xmx …

來源:互聯網
上載者:User

吃記憶體,這是我對Eclipse的印象,因為我512M的機子總出現記憶體不足,請用-vmargs -Xmx 調整的提示。然後,我只能關閉Eclipse,不然它就消極怠工。平時,我的大腦對這類提示資訊採取的是習慣性過濾,可是今天我忍無可忍了 ,我要看看到底怎麼搞,寫代碼的日子才能好過些。
這是我在網上查到的資源:

JAVA 虛擬機器調整
預設情況下,代理使用大小為 192MB 的 JVM 堆。通常,這對於較大的訊息負荷來說太小,應該增大。

當代理快要耗盡 Java 對象使用的 JVM 堆空間時,它將使用各種技術(如流量控制和訊息交換)來釋放記憶體。在極端情況下,代理甚至關閉客戶機串連以釋放記憶體並減少訊息內流。所以最好將最大 JVM 堆空間設定得足夠大,以避免這種情況。

但是,與系統的實體記憶體相比,如果最大 Java 堆空間設定過大,代理將繼續增大 Java 堆空間,直至整個系統耗盡記憶體。這會導致效能的降低、不可預計的代理崩潰和/或影響系統中啟動並執行其他應用程式和服務的行為。通常,需要有足夠的實體記憶體以便作業系統和其他應用程式在電腦上運行。

總的說來,好的方法是:估算正常和峰值系統記憶體容量,並配置 Java 堆大小,使其足以提供良好效能,但同時不應過大,以免引起系統記憶體問題。

要更改代理的最小和最大堆大小,請在啟動代理時使用 -vmargs 命令列選項。例如:

/usr/bin/imqbrokerd -vmargs "-Xms256m -Xmx1024m"

此命令會將啟動 Java 堆大小設定為 256MB,將最大 Java 堆大小設定為 1GB。

在 Solaris 上,如果通過 /etc/rc(即 /etc/init.d/imq)啟動代理,請在 /etc/imq/imqbrokerd.conf 檔案中指定代理的命令列參數。有關詳細資料,請參見該檔案中的注釋。
在 Windows 上,如果將代理作為 Window 服務啟動,請使用 imqsvcadmin install 命令的 -vmargs 選項指定 JVM 參數。在任何情況下,請通過檢查代理的記錄檔或通過使用 imqcmd metrics bkr -m cxn 命令驗證設定。

服務管理員公用程式 (imqsvcadmin)

可以使用服務管理員公用程式 (imqsvcadmin) 安裝、查詢和刪除作為 Windows 服務啟動並執行代理。本節介紹了 imqsvcadmin 命令的基本文法,提供了一個子命令列表,概述了 imqsvcadmin 命令選項,並說明了如何使用這些命令執行特定的任務。

imqsvcadmin 命令文法

imqsvcadmin 命令的一般文法如下:

imqsvcadmin subcommand [options]

imqsvcadmin -h

請注意,如果指定 -v、-h 或 -H 選項,將不會執行命令列中指定的其他子命令。例如,輸入以下命令將顯示協助資訊,而不是執行 query 子命令。

imqsvcadmin query -h

imqsvcadmin 子命令

表 D-1 列出了 Message Queue 服務管理員公用程式 (imqsvcadmin) 包含的子命令:

表 D-1 imqsvcadmin 子命令

子命令

說明

install

安裝服務並特定啟動選項。

query

顯示 imqsvcadmin 命令的啟動選項。啟動選項包括服務的啟動方式(手動或自動)、服務的位置、Java 運行時的位置以及啟動時傳遞給代理的參數值。

remove

刪除服務。

imqsvcadmin 選項概述

表 D-2 列出了 imqsvcadmin 命令的選項。有關如何使用這些選項的論述,請參見基於任務的以下各節。

表 D-2 imqsvcadmin 選項

選項

說明

-h

顯示使用協助。不在命令列執行其他命令。

-javahome path

指定要使用的替代 Java 2 相容運行時(預設使用系統上的運行時或 Message Queue 附帶的運行時)的路徑。

樣本:imqsvcadmin -install -javahome d:/jdk1.4

-jrehome path

指定替代 Java 2 相容 JRE 的路徑。

樣本:imqsvcadmin -install -jrehome d:/jre/1.4

-vmargs arg [[arg]]

指定傳遞給正在運行代理服務的 Java VM 的其他參數。(也可以在 Windows 服務控制台的啟動參數欄位中指定這些參數。)

樣本:-vmargs -Xms16m -Xmx128m

-args arg [[arg]]

指定傳遞給代理服務的其他命令列參數。有關 imqbrokerd 選項的說明,請參見“啟動代理”。

(也可以在 Windows 服務控制台的啟動參數欄位中指定這些參數。)例如,

imqsvcadmin -install -args -passfile d:/imqpassfile

使用 -javahome、-vmargs 和 -args 選項指定的資訊儲存在 Window 登錄機碼 JavaHome、JVMArgs 和 ServiceArgs 下,其路徑位於

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/iMQ_Broker/Parameters

刪除代理服務

刪除代理服務之前,應使用 imqcmd shutdown bkr 命令關閉代理。然後使用 imqsvcadmin remove 命令刪除服務並重新啟動電腦。

重新設定代理程式服務

要重新設定服務,首先要刪除服務,然後重新安裝並使用 -args 參數指定不同的啟動選項。

使用替代 Java 運行時

可以使用 -javahome 或 -jrehome 選項指定替代 Java 運行時的位置。(也可以在 Windows 服務控制台的啟動參數欄位中指定這些選項。)請注意,啟動參數欄位將反斜線 (/) 作為轉義符進行處理,因此如果要使用它作為路徑分隔字元,必須鍵入兩次,例如 -javahome d://jdk1.3。

查詢代理服務

要確定代理服務的啟動選項,請使用 imqsvcadmin 命令的 -q 選項。

imqsvcadmin -query

Service iMQ_Broker is installed.

Display Name: iMQ_Broker

Start Type: Manual

Binary location: c:/Program Files/Sun Microsystems/Message Queue 3.5/bin/imqbrokersvc

JavaHome: c:/j2sdk1.4.0

Broker Args: -passfile d:/imqpassfile

嗯,看了之後知道該怎麼搞定了,但願改了以後能告別那個該死的提示。
這是我的更改:
F:/eclipse/eclipse.exe -vmargs -Xmx256m

參考:http://docs.sun.com/source/817-7211/index.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.