Jetty Server:内存消耗问题。

时间:2016-12-16 11:17:52

标签: java websocket jetty embedded-jetty

我们在定制设备板上运行Jetty runner的JAVA Web应用程序。设备板有一些限制,如" SWAP禁用" [1GB的RAM],所以每当我们用jetty启动JAVA webapplication时,内存消耗从350MB逐渐增加到900MB; 尽管如果我们尝试运行测试应用程序[简单的html页面,我们的应用程序需要库 - websocket,jersey库,pdfbox,opencsv],内存消耗在350M-900MB范围内。

我们要求JAVA Web应用程序的内存消耗不应超过400MB。需要有关此问题的建议或解决方案。 Jetty服务器或库中是否有任何内存泄漏?

1 个答案:

答案 0 :(得分:0)

  

Jetty 8 is EOL (End of Life)。考虑升级。

永远不要混合Jetty版本(或任何工件)

您说明的图书馆清单(您可以编辑自己的问题):

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库正在使用那个)
  • 您使用的是过时的jetty-schemas.jar
  • org.eclipse.jdt.core.jar用于Jetty 8上的JSP编译(不适合在类路径中查看)
  • 如果您不使用OSGi,请删除osgi-resource-locator.jar

如果上述图书馆是您在WebApp WEB-INF/lib中找到的图书馆,那么以下广告库应该已删除,因为它们不会出现在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