The web application [FileIO_new_interface] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@1c27fa09]) and a value of type [java.lang.Class] (value [class com.cetc.di.io.impl.SayHelloImpl]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. 这个错误是说,网络应用[FileIO_new_interface]创建了一个本地线程,但是在web application停止的时候,没有成功的被清除掉,这可能导致潜在的内存溢出错误,解决办法是手动杀掉相关的进程。方法是通过端口号,通过服务开放的端口号找出进程号,然后杀掉。

...skipping...
sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79)
sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68)
org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:409)
org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:206)
org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90)
org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
17-Nov-2015 17:10:15.936 WARNING [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [FileIO_new_interface] appears to have started a thread named [New I/O worker #5] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79)
sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:68)
org.jboss.netty.channel.socket.nio.AbstractNioSelector.select(AbstractNioSelector.java:409)
org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:206)
org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:90)
org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
17-Nov-2015 17:10:15.937 WARNING [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [FileIO_new_interface] appears to have started a thread named [New I/O server boss #6] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79)
sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
org.jboss.netty.channel.socket.nio.NioServerBoss.select(NioServerBoss.java:163)
org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:206)
org.jboss.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42)
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
17-Nov-2015 17:10:15.938 SEVERE [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [FileIO_new_interface] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@1c27fa09]) and a value of type [java.lang.Class] (value [class com.cetc.di.io.impl.SayHelloImpl]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
17-Nov-2015 17:10:15.948 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive /usr/tomcat/apache-tomcat-8.0.28/webapps/FileIO_new_interface.war has finished in 9,289 ms
17-Nov-2015 17:10:15.950 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/tomcat/apache-tomcat-8.0.28/webapps/ROOT
17-Nov-2015 17:10:15.989 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/tomcat/apache-tomcat-8.0.28/webapps/ROOT has finished in 39 ms

解决办法:

[root@localhost webapps]# ps -ef | grep tomcat
root 772 1 3 17:10 pts/0 00:00:32 /usr/java/jdk1.8.0_65/jre/bin/java -Djava.util.logging.config.file=/usr/tomcat/apache-tomcat-8.0.28/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/tomcat/apache-tomcat-8.0.28/endorsed -classpath /usr/tomcat/apache-tomcat-8.0.28/bin/bootstrap.jar:/usr/tomcat/apache-tomcat-8.0.28/bin/tomcat-juli.jar -Dcatalina.base=/usr/tomcat/apache-tomcat-8.0.28 -Dcatalina.home=/usr/tomcat/apache-tomcat-8.0.28 -Djava.io.tmpdir=/usr/tomcat/apache-tomcat-8.0.28/temp org.apache.catalina.startup.Bootstrap start
root 838 17424 0 17:25 pts/0 00:00:00 grep tomcat
root 17532 1 0 Nov13 pts/0 00:11:54 /usr/java/jdk1.8.0_65/jre/bin/java -Djava.util.logging.config.file=/usr/tomcat/apache-tomcat-8.0.28/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/tomcat/apache-tomcat-8.0.28/endorsed -classpath /usr/tomcat/apache-tomcat-8.0.28/bin/bootstrap.jar:/usr/tomcat/apache-tomcat-8.0.28/bin/tomcat-juli.jar -Dcatalina.base=/usr/tomcat/apache-tomcat-8.0.28 -Dcatalina.home=/usr/tomcat/apache-tomcat-8.0.28 -Djava.io.tmpdir=/usr/tomcat/apache-tomcat-8.0.28/temp org.apache.catalina.startup.Bootstrap start
[root@localhost webapps]# netstat -apn | grep 20880
[root@localhost webapps]# netstat -apn | grep 20151
tcp 0 0 :::20151 :::* LISTEN 17532/java
[root@localhost webapps]# kill -9 17532
[root@localhost webapps]# netstat -apn | grep 20151
[root@localhost webapps]# rm -fr ../logs/catalina.*
[root@localhost webapps]# ls
docs examples FileIO_new_interface FileIO_new_interface.war host-manager manager ROOT
[root@localhost webapps]# rm -fr FileIO_new_interface
[root@localhost webapps]# less ../logs/
host-manager.2015-11-10.log localhost.2015-11-10.log localhost.2015-11-17.log localhost_access_log.2015-11-17.txt manager.2015-11-17.log
host-manager.2015-11-11.log localhost.2015-11-11.log localhost_access_log.2015-11-10.txt manager.2015-11-10.log
host-manager.2015-11-13.log localhost.2015-11-12.log localhost_access_log.2015-11-11.txt manager.2015-11-11.log
host-manager.2015-11-16.log localhost.2015-11-13.log localhost_access_log.2015-11-13.txt manager.2015-11-13.log
host-manager.2015-11-17.log localhost.2015-11-16.log localhost_access_log.2015-11-16.txt manager.2015-11-16.log
[root@localhost webapps]# less ../logs/
host-manager.2015-11-10.log localhost.2015-11-10.log localhost.2015-11-17.log localhost_access_log.2015-11-17.txt manager.2015-11-17.log
host-manager.2015-11-11.log localhost.2015-11-11.log localhost_access_log.2015-11-10.txt manager.2015-11-10.log
host-manager.2015-11-13.log localhost.2015-11-12.log localhost_access_log.2015-11-11.txt manager.2015-11-11.log
host-manager.2015-11-16.log localhost.2015-11-13.log localhost_access_log.2015-11-13.txt manager.2015-11-13.log
host-manager.2015-11-17.log localhost.2015-11-16.log localhost_access_log.2015-11-16.txt manager.2015-11-16.log
[root@localhost webapps]# ls
docs examples FileIO_new_interface FileIO_new_interface.war host-manager manager ROOT
[root@localhost webapps]# netstat -lntpu | grep 8080
tcp 0 0 :::8080 :::* LISTEN 772/java

tomcat 8.0 进程没有全部杀死的更多相关文章

  1. Linux 下Tomcat的启动、关闭、杀死进程

    Linux下Tomcat的启动.关闭.杀死进程 打开终端 cd /java/tomcat #执行 bin/startup.sh #启动tomcat bin/shutdown.sh #停止tomcat ...

  2. Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use.解决办法

    Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. The ...

  3. Eclipse启动Tomcat错误:Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are already(转载)

    转载自:http://blog.csdn.net/aigochina/article/details/7891107 Eclipse启动Tomcat错误: Several ports (8080, 8 ...

  4. Tomcat v7.0 Server at localhost are already in use,tomcat提示端口被占用,tomcat端口已经被使用,tomcat端口占用

    Tomcat v7.0 Server at localhost are already in use, tomcat提示端口被占用,tomcat端口已经被使用 >>>>> ...

  5. tomcat之 Tomcat 7.0.78 单机多实例配置

    前言:JDK(JavaDevelopment Kit)是Sun Microsystems针对Java开发员的产品.自从Java推出以来,JDK已经成为使用最广泛的javaSDK. JDK是整个Java ...

  6. Several ports (8005, 8080, 8009) required by Tomcat v9.0 Server at localhost

    Several ports (8005, 8080, 8009) required by Tomcat v9.0 Server at localhost 问题:Tomcat服务器的端口被占用 解决: ...

  7. 在Eclipse中运行Web项目Jsp网页时提示端口被占用的解决办法:Several ports (8005, 8888, 8009) required by Tomcat v9.0 Server at localhost are already in use.

    问题: 在Eclipse中运行Web项目Jsp网页启动Tomcat时提示端口被占用: Several ports (8005, 8080, 8009) required by Tomcat v9.0 ...

  8. Linux下Tomcat端口、进程以及防火墙设置

     Linux下Tomcat端口.进程以及防火墙设置 1,查看tomcat进程: #ps -aux | grep tomcat(或者ps -ef | grep tomcat都行) 可以看到现在运行着两个 ...

  9. Eclipse启动Tomcat错误:Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are already

    Eclipse启动Tomcat错误: Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are alread ...

随机推荐

  1. Java线程池的使用以及原理

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6543909.html  一:线程池简介 在使用多线程来提高处理器利用率的同时,由于线程的不断创建和销毁所造成的 ...

  2. CS 寄存器 和 IP 寄存器

    下面将要介绍的是一组非常非常重要的寄存器,即 CS:IP . CS:IP 两个寄存器指示了 CPU 当前将要读取的指令的地址,其中  CS 为代码段寄存器,而   IP 为指令指针寄存器 . 什么叫做 ...

  3. Android开发经典笔试面试题汇总(持续更新中)

    1.我们都知道Handler是线程与Activity通信的桥梁,假设线程处理不当.你的机器就会变得非常慢,那么线程销毁的方法是:(A) A. onDestroy() B. onClear() C. o ...

  4. 使用springMVC和Jquery实现JSONP

    JSONP这个东东是啥我就不写了,直接贴实现的代码 JAVA代码: /** * * 查询用户是否已经提交认证获取已经是认证会员 * * 使用spring mvc的直接返回string会遇到分号转义后字 ...

  5. 【转】Linux定时任务之 【crontab】

    Linux定时任务Crontab命令详解 linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另 外, ...

  6. BigDecimal去除末尾多余的0

    Java有自带的 stripTrailingZeros() 方法用于去除末尾多余的0 BigDecimal num = new BigDecimal("100.000"); Big ...

  7. 航信电子发票开发(servlet请求方式)

    在系统用户交费后,需要打印发票,可以选择普票或者机打票(票据信息在系统中自定义设置的),也可以打印电子发票,这里对接的是航信的电子发票,请求方式非web服务,而是使用servlet通过HTTP请求的方 ...

  8. ios中网络请求缓存

    #import <Foundation/Foundation.h> #import "ASIFormDataRequest.h" @protocol NetWorkde ...

  9. 安全删除linux旧内核的方法

    我们在用yum升级系统之后,希望往往会为我们保持旧的内核文件,这样以防在出现硬件或者软件冲突的时候我们能够返回到旧的内核文件继续使用,如果我们想要安全的删除旧的内核文件,可以follow下面的方法. ...

  10. 详解SpringMVC中Controller的方法中参数的工作原理——基于maven

    转自:http://www.tuicool.com/articles/F7byQn 前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:ht ...