2014-05-12 77 views
0

我有一個在JBoss上運行的應用程序。服務器的RAM太低(大約2GB),所以我需要減少Java堆大小。另外我還有兩個版本的Java:系統版本(1.4.2)和1.7.0,僅限於JBoss 7。 那麼,我該如何正確減少Java堆大小呢?如何減少java堆大小?

+0

您是否獲得有關堆錯誤信息,或者使用了太多的內存在服務器上是java進程? –

+0

不,我沒有收到錯誤。我的生產服務器運行良好,直到我安裝了JBoss。所以,我決定減少Java堆大小。 – Tony

回答

1

您可以更改jboss啓動文件中的堆大小,編輯bat或sh文件並搜索-Xms並將其更改爲所需的大小。

3

有兩個標誌來控制堆大小:在128兆-Xms128m將開始你堆和-Xmx1g控制的最大尺寸(在這裏,這將其設置爲1場演出)。

1

在64位系統中,Java的堆空間默認大小爲128MB,Sun的JVM和堆大小參數默認值增加了大約30%。

您可以使用

java -XX:+PrintFlagsFinal -version | grep HeapSize 

檢查您的默認大小。

Read more

您可以通過使用JVM選項-Xms和-Xmx改變堆空間大小。 Xms表示堆的開始大小,-Xmx表示Java中堆的最大大小。
您可以使用 java -Xms1024M -Xmx2048M YourApp

或搜索「孫JVM內存分配池參數」和改變JAVA_OPTS線編輯/bin/run.sh|exe文件:

集JAVA_OPTS =% JAVA_OPTS%-server -Xms1152m -Xmx1152m -XX:MaxPermSize參數=128米 -XX:MaxNewSize =128米