2016-12-16 64 views
-1

我們正在定製設備板上使用jetty runner運行JAVA Web應用程序。設備板有一些限制,比如「SWAP禁用」[1GB的RAM],所以每當我們用jetty啓動我們的JAVA web應用時,內存消耗逐漸從350MB開始到900MB; 儘管如果我們試圖運行一個測試應用程序[簡單的HTML頁面與我們的應用程序所需的庫 - websocket,澤西庫,pdfbox,opencsv]在350M-900MB範圍內的內存消耗。Jetty Server:內存消耗問題。

我們要求JAVA Web應用程序的內存消耗不應該超過400MB。需要有關此問題的建議或解決方案。碼頭服務器或庫中是否有內存泄漏?

+0

我會嘗試在某些「實驗室」環境中運行該軟件堆棧...以及做一些內存分析。 – GhostCat

+1

*「碼頭服務器或庫中是否有內存泄漏?」* - 可能,但泄漏更可能發生在您的Web應用程序中。你有沒有試過在那裏找一個? –

+0

我們用簡單的html頁面測試了應用程序,沒有我們的代碼,所以它仍然在相同的範圍內使用.. – prashantr

回答

0

Jetty 8 is EOL (End of Life)。考慮升級。

切勿混用碼頭的版本(或任何神器)

你的圖書館的規定列表(您可以編輯您自己的問題,你懂的):

amqp-client-3.5.3.jar 
protobuf-java-2.5.0.jar 
gson-2.2.2.jar 
jaybird-full-2.2.8.jar 
jackson-core-asl-1.9.13.jar 
jackson-jaxrs-1.9.13.jar 
jackson-mapper-asl-1.9.13.jar 
jackson-xc-1.9.13.jar 
javax.annotation-api-1.2.jar 
javax.el-3.0.1-b08.jar 
javax.inject-1.jar 
javax.inject-2.2.0.jar 
javax.servlet-api-3.1.0.jar 
javax.ws.rs-api-2.0.jar 
jersey-client-2.6.jar 
jersey-common-2.6.jar 
jersey-container-servlet-2.6.jar 
jersey-container-servlet-core-2.6.jar 
jersey-guava-2.6.jar 
jersey-media-json-jackson-2.6.jar 
jersey-server-2.6.jar 
jetty-http-8.1.17.v20150415.jar 
jetty-io-8.1.17.v20150415.jar 
jetty-schemas-3.1.M0.jar 
jetty-util-8.1.17.v20150415.jar 
log4j-1.2.17.jar 
log4j-api-2.3.jar 
log4j-core-2.3.jar 
org.eclipse.jdt.core-3.8.2.v20130121.jar 
osgi-resource-locator-1.0.1.jar 
slf4j-api-1.6.6.jar 
slf4j-log4j12-1.6.6.jar 
validation-api-1.1.0.Final.jar 
websocket-api-9.3.14.v20161028.jar 
websocket-servlet-9.3.14.v20161028.jar 
pdfbox-app-2.0.0-RC1.jar 
opencsv-3.7.jar 

事情來解決:

  • 您有兩個版本的Jetty:9.3.x和8.1.x(選擇一個,建議9.3.x)
  • 你有兩個版本的javax.inject:1.x和2.x(挑一個)
  • 你有兩個版本的log4j:1.2.x和2.3(選擇一個,建議1.2作爲你的slf4j-log4j12.jar庫是使用一個)
  • 您使用的是過時的碼頭,schemas.jar
  • org.eclipse.jdt.core.jar是在碼頭8 JSP編譯(其不恰當的在類路徑中看到)
  • 如果您不使用OSGi,然後刪除osgi-resource-locator.jar

如果提到的庫是您在WebApp的中找到的庫,那麼下面的罐子應該將從您的WEB-INF/lib中刪除,因爲它們屬於服務器類路徑,而不是您的webapp。

javax.annotation-api-1.2.jar 
javax.el-3.0.1-b08.jar 
javax.servlet-api-3.1.0.jar 
jetty-http-8.1.17.v20150415.jar 
jetty-io-8.1.17.v20150415.jar 
jetty-schemas-3.1.M0.jar 
jetty-util-8.1.17.v20150415.jar 
org.eclipse.jdt.core-3.8.2.v20130121.jar 
websocket-api-9.3.14.v20161028.jar 
websocket-servlet-9.3.14.v20161028.jar