最近我創建了一個基於Maven的web項目,並使用Tomcat作爲應用服務器調試......在tomcat服務器中運行應用程序有什麼問題?
但直接從項目上下文菜單中運行應用程序後,Tomcat是經常死(pergem錯誤,這意味着從memery的)。
最糟糕的是它創建了很多空閒線程,並且它們都不能通過手動方式被殺死。
而且tomcat的狀態也不能被NetBeans檢測到,所以不能停止和重啓。 我必須重新啓動系統才能清理它們。
我的系統是Fedora 12 x86 ... Java版本是SUN JDK 6更新17. NetBeans版本是6.7.1。
我試圖創建一個關於此的錯誤,但NetBeans開發人員拒絕了它......我非常驚訝,這是使用NetBeans開發Web應用程序的一大阻礙。
今天我在最新的NetBeans 6.8rc1中使用了JBoss 5.1,並且也遇到了同樣的問題... 我試過調整VM參數並分配更多的內存但沒有影響。
我已經通過seam ant build腳本部署了幾個seam樣本到JBoss 5.1,並且沒有問題。 但我切換到使用NetBeans來執行此操作,由於內存不足而失敗。
什麼是錯?
你試圖調整VM參數,但它成功的一個小的不便?嘗試調用Runtime.getRuntime()。maxMemory(),並查看是否已將您的設置考慮在內 – Bozho 2009-12-07 06:40:29
Runtime.getRuntime()。maxMemory()在此處不相關。 PermGen空間用於保存代碼和相關數據,這些數據不可能是GC'd。在開發條件下反覆取消部署和重新部署的Web容器是一種特殊情況,因此您需要分配更多的PermGen(特別是!),或者需要啓用類的GC。 – 2012-10-23 05:22:00
檢查JRebel的不支持當前的配置,也許可以解決你的問題:http://www.zeroturnaround.com/jrebel/ – penguintux 2009-12-07 09:59:39