2012-11-17 352 views
0

我正在使用NetBeans IDE 6.9.1。我使用Spring版本3.0.2和Hibernate Tools 3.2.1.GA在JSP中有一個Web應用程序。慢慢地,逐漸地,它的規模一直在增長,但它不是一個非常大的應用程序,雖然我已經添加了許多外部類庫,並且在需要時添加了諸如HibernateValidatorNetBeans變得非常緩慢

性能降低,構建應用程序需要大量的時間。在保存更改時,很多時候,NetBeans的自動部署功能會無限地部署應用程序。它永遠不會結束,我必須重新啓動IDE,程序從頭開始重新開始。有時應用程序會自動停止,我必須重新啓動Tomcat服務器(6.0.26),因爲大多數嘗試重新啓動應用程序都不成功。

很多次(每半小時左右),應用程序以下列例外結束。

java.lang.OutOfMemoryError: PermGen Space

我必須重新啓動系統本身!

雖然與JPA正與EJB和JSF的前端(GlassFish應用服務器3)一起,它往往甚至沒有與和相同的版本NetBeans IDE中的完全一樣重倉應用的情況下平臺,如果我沒記錯的話。

有沒有一些方法來提高性能?

回答

2

嘗試重寫JVM選項更多的內存,如果你能

export JAVA_OPTS="-Xms64m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=756m" 

這裏http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.2/reference/JavaOptsSummary.html你可以找到更多的關於JAVA_OPTS參數

+0

該鏈接說:「*您可以在$ {TOMCAT_HOME} /bin/setenv.sh文件中設置JAVA_OPTS。*」但我在* bin *目錄下看不到'setenv.sh'文件 - C:\ Program Files \ Apache Software Foundation \ Apache Tomcat 6.0.26 \ bin'。它是Microsoft Windows XP,Professional版本2002,Service Pack 3. – Tiny

+0

鏈接更多用於解釋每個參數。在windows上爲jvms設置全局內存設置,請嘗試使用-Xms64m -Xmx512m -XX:PermSize = 128m -XX:MaxPermSize = 756m設置JAVA_TOOL_OPTIONS環境變量(可能會替換可能更適合您的數字的值)。我沒有嘗試專門爲netbeans設置,因爲我使用eclipse,但顯然你可以在你的啓動器上設置相同的變量http://performance.netbeans.org/howto/jvmswitches/ – Thomas

+0

根據該鏈接,我已經改變了'netbeans_default_options = 「-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize = 32m -J-XX:MaxPermSize = 200m -J-Dapple.laf.useScreenMenuBar = true -J-Dapple.awt.graphics.UseQuartz = true -J-Dsun.java2d.noddraw = true「'在我的C:\ Program Files \ NetBeans 6.9.1 \ etc \ netbeans.conf文件中。 – Tiny

1

我知道你使用的是NetBeans。一個簡單的解決辦法是去工具 - >服務器 - >(selecte服務器(你的情況的Tomcat)) - >平臺,然後在VM選項,粘貼此設置:

-Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m 

,將解決你的問題。祝你好運!

+1

感謝您的回答。我的NetBeans在我所做的這些設置中表現良好。 – Tiny