Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat服务器内存泄漏_Java_Deployment_Tomcat7 - Fatal编程技术网

Java Tomcat服务器内存泄漏

Java Tomcat服务器内存泄漏,java,deployment,tomcat7,Java,Deployment,Tomcat7,我试着在调试模式下运行Tomcat7服务器,它几乎启动了,但马上就停止了 您可以在下面找到一些日志: INFO: Starting ProtocolHandler ["http-apr-8080"] Sep 27, 2012 4:56:04 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 22573 ms Sep 27, 2012 4:56:04 PM org.apache.catalina.core.S

我试着在调试模式下运行Tomcat7服务器,它几乎启动了,但马上就停止了

您可以在下面找到一些日志:

INFO: Starting ProtocolHandler ["http-apr-8080"]
Sep 27, 2012 4:56:04 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 22573 ms
Sep 27, 2012 4:56:04 PM org.apache.catalina.core.StandardServer await
SEVERE: StandardServer.await: create[localhost:8005]: 
java.net.BindException: Address already in use: JVM_Bind
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
    at java.net.ServerSocket.bind(ServerSocket.java:319)
    at java.net.ServerSocket.<init>(ServerSocket.java:185)
    at org.apache.catalina.core.StandardServer.await(StandardServer.java:421)
    at org.apache.catalina.startup.Catalina.await(Catalina.java:707)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:653)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:304)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
Sep 27, 2012 4:56:04 PM org.apache.coyote.AbstractProtocolHandler pause
INFO: Pausing ProtocolHandler ["http-apr-8080"]
Sep 27, 2012 4:56:05 PM org.apache.coyote.AbstractProtocolHandler pause
INFO: Pausing ProtocolHandler ["ajp-apr-8009"]
Sep 27, 2012 4:56:05 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Sep 27, 2012 4:56:06 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextDestroyed()
Sep 27, 2012 4:56:06 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextDestroyed()
Sep 27, 2012 4:56:06 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/dnweb.myeclipse.bak] appears to have started a thread named [Thread-5] but has failed to stop it. This is very likely to create a memory leak.
Sep 27, 2012 4:56:07 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/DNClientWeb] appears to have started a thread named [Thread-2] but has failed to stop it. This is very likely to create a memory leak.
Sep 27, 2012 4:56:07 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/DNClientWeb] appears to have started a thread named [Thread-3] but has failed to stop it. This is very likely to create a memory leak.
Sep 27, 2012 4:56:07 PM org.apache.coyote.AbstractProtocolHandler stop
INFO: Stopping ProtocolHandler ["http-apr-8080"]
INFO:正在启动ProtocolHandler[“http-apr-8080”]
2012年9月27日下午4:56:04 org.apache.catalina.startup.catalina start
信息:服务器启动时间为22573毫秒
2012年9月27日下午4:56:04 org.apache.catalina.core.StandardServer等待
严重:StandardServer.await:创建[localhost:8005]:
java.net.BindException:地址已在使用中:JVM\u Bind
位于java.net.PlainSocketImpl.socketBind(本机方法)
位于java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
位于java.net.ServerSocket.bind(ServerSocket.java:319)
位于java.net.ServerSocket。(ServerSocket.java:185)
位于org.apache.catalina.core.StandardServer.await(StandardServer.java:421)
位于org.apache.catalina.startup.catalina.await(catalina.java:707)
位于org.apache.catalina.startup.catalina.start(catalina.java:653)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:304)
位于org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
2012年9月27日下午4:56:04 org.apache.coyote.AbstractProtocolHandler暂停
信息:暂停ProtocolHandler[“http-apr-8080”]
2012年9月27日下午4:56:05 org.apache.coyote.AbstractProtocolHandler暂停
信息:暂停ProtocolHandler[“ajp-apr-8009”]
2012年9月27日下午4:56:05 org.apache.catalina.core.StandardService stopInternal
信息:停止服务卡塔琳娜
2012年9月27日下午4:56:06 org.apache.catalina.core.ApplicationContext日志
信息:SessionListener:contextDestroyed()
2012年9月27日下午4:56:06 org.apache.catalina.core.ApplicationContext日志
信息:ContextListener:contextDestroyed()
2012年9月27日下午4:56:06 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重:web应用程序[/dnweb.myeclipse.bak]似乎已启动名为[thread-5]的线程,但未能停止该线程。这很可能会造成内存泄漏。
2012年9月27日下午4:56:07 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重:web应用程序[/DNClientWeb]似乎已启动名为[thread-2]的线程,但未能停止该线程。这很可能会造成内存泄漏。
2012年9月27日下午4:56:07 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重:web应用程序[/DNClientWeb]似乎已启动名为[thread-3]的线程,但未能停止该线程。这很可能会造成内存泄漏。
2012年9月27日下午4:56:07 org.apache.coyote.AbstractProtocolHandler停止
信息:正在停止ProtocolHandler[“http-apr-8080”]
启动服务器后,它返回到停止模式。这些都是内存泄漏问题。如果是,我如何解决这个问题


非常感谢您的建议。

请确保运行Tomcat所需的所有端口都是免费的。日志消息表示Tomcat尝试使用的一个端口已被另一个应用程序使用。

Tomcat未启动可能是由于@ThorstenDittmar已建议使用的端口已被使用,否则Tomcat将因一些
OutOfMemoryError
而死亡


对于内存泄漏,您可以通过使用Java Visual VM查看JVM堆转储,尝试找出哪些实例仍保留在内存中,并防止旧类装入器被垃圾收集。查看说明如何查找旧类加载器以及仍然引用它们的实例的部分。

在server.xml目录conf中更改端口/

<Server port="8005" shutdown="SHUTDOWN" debug="0">


我只是在使用myeclipse运行一个应用程序。正如您在这里看到的,Tomcat尝试在端口8005上侦听,但不起作用:
SEVERE:StandardServer.wait:create[localhost:8005]:java.net.BindException:地址已在使用:JVM\u Bind
。因此,端口8005一定已经被某个程序占用。如果您在linux上,请以root用户身份运行
netstat-tulpen
,查看哪个进程占用此端口。我在windows中使用myeclipse。我运行了netstat命令。没有进程占用此端口。我已更改为端口8090,此处未显示。