centos下,tomcat7关闭后报错内存泄露,并开启多个java进程,不知怎么处理

每次发布项目的时候,tomcat执行shutdown.sh之后,都会打印以下日志

图片说明

并且会在linux中开启几个java进程,占了很多的内存,找了很久的原因,都不知道怎么处理,希望大佬帮忙解答一下。

0

2个回答

监控jvm内存,jstat -gcutil PID 命令监控下是不是内存回收的问题,看下GC是否正常。如果GC不正常,把线程dump下来分析。
命令map -dump:live,format=b,file=heap.bin PID,dump下来的文件可以借助MemoryAnalyzer工具去分析,找到最大的引用对象
去查代码,看下是不是有对象一直在申请内存。

0

最快捷的方法就是使用kill -9 pid ,直接杀掉对应的进程id;

0
CSDNHce
csdnHce 现在我每次都是杀掉全部的java进程,不过这也不是好的解决办法,而且我我配置的关闭线程池监听器貌似没有运行
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于tomcat7关闭(shutdown.sh)后进程依旧存在
小编出现shutdown后,ps一下看到tomcat的进程依旧存在。 灰常灰常纳闷,各种百度各种谷歌,得到一下解释:别急,先看看tomcat关闭过程的源码,Tomcat启动以后,会启动6条线程,他们分别如下: Tomcat threads"ajp-bio-8009-Async
tomcat7内存溢出错误的一些原因和解决方案
 今天在做公司一个工程2个版本的运行时,突然出现新版的工程在tomcat中内存溢出。   因为错误比较明显,但也经过了一些折腾。   我的tomcat版本为最新的7.0.34,eclipse为3.7   在tomcat的wiki上其实对内存溢出和内存错误已经有一定的分析和说明   tomcat内存出错的一些原因:   1、建立的过多的对象,导致堆区内存不足   2、有代码被...
解决Unix下 Tomcat 关闭后java进程还存在问题
解决AIX下Tomcat 关闭服务shutdown.sh 后java进程没释放问题,(由于JAVA进程没有释放所以会造成每次启动服务startup.sh后多一个java进程) 解决办法:在启动服务的脚本startup.sh中加入杀了进程的脚本即可 如下脚本: 第一个脚本:杀了所有用户的java进程 sleep 1 pid=`ps -ef | grep "java" | awk '{ pr...
java封装FFmpeg命令,支持原生ffmpeg全部命令,实现FFmpeg多进程处理与多线程输出控制(开启、关闭、查询),rtsp/rtmp推流、拉流
前言: 之前已经对FFmpeg命令进行了封装http://blog.csdn.net/eguid_1/article/details/51787646,但是当时没有考虑到扩展性,所以总体设计不是太好,需要改动的地方也比较多,也不支持原生ffmpeg命令,所以本次版本推翻了前面的版本重新设计接口和实现,全面支持各个流程注入自己的实现,并且在原有命令组装基础上增加一个接口用来支持全部原生FFmpeg...
CentOS查看进程、杀死进程、启动进程等常用命令
关键字: linux 查进程、杀进程、起进程 1.查进程     ps命令查找与进程相关的PID号:     ps a 显示现行终端机下的所有程序,包括其他用户的程序。     ps -A 显示所有程序。     ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。     ps -e 此参数的效果和指定"A"参数相同。     ps e 列出程序时
阿里云环境中配置tomcat7可能出现的问题及解决方法
前提是安装好了tomcat,但是输入ip+端口无法访问,那么情况有一下几种 (1)可能防火墙没有关闭  systemctl stop firewalld.service #停止firewall  systemctl disable firewalld.service #禁止firewall开机启动  firewall-cmd --state #查看默认防火墙状态(关闭后
linux下如何部署(执行)java jar包,并关闭此jar的进程
前段时间刚刚接触了一下linux系统,本人表示第一次使用无从下手,不像windows操作系统是可视化的,简单的创建文件或文件夹都要通过写命令才能将其完成,由于工作需要,不得不自学linux ,先是自学常用的一些命令,然后再部署可执行jar,以下是具体的操作步骤。 1、执行jar包的命令和在windows操作系统上是一样的,都是java -jar xxxx.jar。 2、将jar程序设置成后
centos7.2 同时运行多个php-fpm主进程
原理啥的并不是很懂,就先操作好了。下面是教程: 在安装php前先安装一些依赖 yum install openssl openssl-devel yum -y install curl-devel yum install -y libxslt libxslt-devel libxml2 libxml2-devel 下载php7.0.8到/opt cd /opt wget
"Tomcat+Spring+Quartz"解决方案下,关闭Tomcat出现"线程未关闭,出现内存泄漏"错误
使用"Tomcat+Spring+Quartz"解决方案,在关闭Tomcat时出现如图1所示错误信息: 这里使用的Tomcat版本为6.2.32,Spring版本为3.2.3,Quartz版本为1.8.6 一、原因分析 在"Tomcat+Spring+Quartz"的解决方案中,Tomcat在运行的时候,Spring中配置的Quartz SchedulerFactoryBea
Java进程优雅关闭
目的: Java进程在接受到关闭命令时,可能正在进行业务处理,需要等正在处理的业务执行完毕后,进程才能退出,以便保证业务处理的完整性。 方案1:       1 在主线程中注册关闭钩子。          在关闭钩子中,设置标示不能处理新的业务(如关闭mq的消费者,关闭tcp连接的监听端口等)。          循环等待业务流程的处理完毕。(或者在关闭钩子中睡眠一段时间)      2
linux centos7安装tomcat7以及遇到坑的解决办法
前言:最近买了一个阿里云服务器准备安装tomcat做web容器,之前安装tomcat是so easy的事情,这次安装却遇到了很多个坑,再次总结一下,避免以后自己再出现同样的错误。一、安装tomcat1 下载tomcat下载地址:tomcat7安装包下载地址官方下载地址:tomcat7官方下载地址 *在安装tomcat之前,我们要安装jdk 教程文档:linux centos7 安装jdk1.72
centos的服务化---上篇、java程序在centos下的后台进程及管理
前言 要做这个,大家要先知道systemctl和chkconfig是什么东西来的,然后再写脚本。 具体参考: linux下java程序在centos的部署上篇—jar程序服务化、nohup用法及管理、nohup输出日志定时切割(草稿篇) 实践 在下列目录添加service脚本, vim /usr/lib/systemd/system/ 当然,以一个实际模块作为例子,我们将服务名称定...
关闭Tomcat时,产生“线程未关闭,出现内存泄漏”错误和"java.lang.IllegalStateException"
在关闭Tomcat时,出现“线程未关闭,出现内存泄漏”错误和"java.lang.IllegalStateException"。这跟《"Tomcat+Spring+Quartz"解决方案下,关闭Tomcat出现"线程未关闭,出现内存泄漏"错误》[1]的内容不太一样,该文章中涉及到的线程其实是被正确关闭了,由于时延导致错误的抛出,但是在本文章中涉及到的线程真正地没有被正确关闭。 一、代码
tomcat8提示内存泄漏问题,解决无法发布项目
          1.查看tomcat的控制台:          进入tomcat/logs/文件夹下          键入指令:tail -f catalina.out 就可以查看控制台。         发现报错The web application [ROOT] appears to have started a thread named [Thread-5] but has fail...
通过源安装的tomcat7开启与关闭方法
最近使用源安装了tomcat7,使用bin目录下面的./startup.sh与./shutdown.sh发生以下错误Using CATALINA_BASE: /usr/share/tomcat7 Using CATALINA_HOME: /usr/share/tomcat7 Using CATALINA_TMPDIR: /usr/share/tomcat7/temp Using JRE_HO
查看Centos7下tomcat启动情况命令
Centos7下,部署了tomcat7,但是根据日志等查询,tomcat服务已经启动,没有任何错误,却不能访问。 命令行输入: ps -ef|grep tomcat   出现以上信息,说明tomcat已经启动成功。 第一个是启动该进程的用户  :root 第二个是该进程的id :4720 第三个 是占用CPU的百分比 :1% 第四个是占用内存的百分比 :0%   根据排...
CentOS系统tomcat shutdown释放不掉进程的解决办法
基本原理为启动tomcat时记录启动tomcat的进程,关闭时强制杀死该进程 1.更改catalina.sh配置 在124行 PRGDIR=dirname "$PRG" 后添加如下配置 if [ -z "$CATALINA_PID" ]; then CATALINA_PID=$PRGDIR/CATALINA_PID cat $CATALINA_PID fi 修改后如图: 2....
守护进程监控tomcat并自动重启
昨天的tomcat问题,一天挂了3,4回,受不了了决定写个监控tomcat进程并zidongchongqi
CentOS查询端口占用和清除端口占用的程序
1、查询端口号占用,根据端口查看进程信息 [root@server2 ~]# lsof -i:80 COMMAND  PID   USER   FD   TYPE DEVICE SIZE NODE NAME httpd   5014   root    3u  IPv4  14346       TCP server2:http (LISTEN) 2、根据进程号查看进程对应的可执行程序 
java linux 项目经常无故被关闭 进程无故消息
布了几个项目。居然天天会自动的挂掉。急了。花时间解决了一下。总结方案如下: 1.磁盘满了。这大家都懂,清一下 2.tomcat在关闭的或是重启的时候,常常后台进程没有被关闭。需要用ps aux|grep java 这个命令查一下,把多余的进程关掉,再启动startup.sh 3.这种情况比较少见,就是在系统资源缺少的情况下,被系统自动DOWN掉,或是被其它软件干掉了。
利用进程管理利器supervise监控并自动重启进程
一、什么是supervise supervise是Daemontools里的一个核心工具,Daemontools是一个包含了很多管理Unix服务的工具的软件包。而其中最核心的工具就是supervise,它的功能是监控一个指定的服务,当该服务进程消亡,则重新启动该进程。 最简单的,我们利用supervise,可以监控一个进程,比如我们在服务器上部署的nginx服务,nginx服务如果挂掉了我们如何知...
tomcat正常启动但是网页打不开的特殊情况
今天给数据库增加过滤器时,网页突然无法打开了。tomcat正常启动。shutdown.bat后依然打不开。单独运行chrome浏览器,有报警cokies需要清除,在设置里清理干净之后,依然打不开。在后台开启也是一样。 在网上查找了半天,主流的方法都用遍了,包括更改server.xml里端口配置、重置环境变量、关闭防火墙、用127.0.0.1代替localhost、在cmd里service.bat ...
centOS7 tomcat 开机自启 自启动设置
编写配置文件 // (1)修改tomcat.service vim /lib/systemd/system/tomcat.service // (2)复制以下代码,注意修改tomcat路径 [Unit] Description=tomcat After=network.target [Service] Type=oneshot ExecStart=/home/apache-tomcat-7...
关于tomcat7下shutdown无法正常关闭服务的解决方案
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
tomcat7下启动jmx服务
找到/bin/catalina.sh 添加以下内容 JAVA_OPTS="-Xms512m -Xmx1024m -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.se
监视某进程,保持进程处于启动状态(非正常退出后能自动启动)
 ####### nohup ./protect_process &  ######这个是启动本脚本时作为守护进程,即使退出当前终端,进程也不会被关掉 ###cmd是被监视的进程的启动命令### cmd=XXX ##检查进程是否存在的函数 CheckProcess(){     if [ "$1" = "" ];     then    
Tomcat关闭后,应用进程无法退出的解决方案
前奏: 最近在Linux部署tomcat应用的时候发现停止tomcat后,自己的进程还在,必须要用kill命令强行杀掉进程,每次这样做感觉很不妥,所以现在我来找一下出现这个问题的根本原因并给出解决方案。背景:有一天我发现公司的Ubantu服务器内存不够用了……,32G内存!而且这台服务器只部署了我一个服务。what?神马情况,一脸萌币。让我静静…………。好了,安静了,现在开始分析原因。首先我执行了
Linux下Tomcat的启动、关闭、杀死进程,解决tomcat端口被占用
端口占用
开启多线程退出后终止异步任务
AsyncTask.cancel()的结束问题 实际项目中有这么一个问题,用户进入详情界面,那么我们就要网络加载数据并展现在UI上,这个加载用线程或者异步。 这里就拿项目中统一用异步任务来获取网络数据把。 用户可能会有这么一个操作,它在一个商品(说说等)列表中,点击一个列表项,进入到相应的详情界面,这时候,我们会开启一个异步任务来获取网络数据,但是网络差的情况下, 用户可能就不愿意等了,立马
通过批处理文件关闭指定进程,并重新启动指定软件的实现
最近做的项目,生成了一个32位的可执行程序:内网端.exe,使用批处理文件进行关闭时,发现不成功。解决办法,利用批处理文件对中文名称的进程进行关闭时,可以用记事本先另存为utf-8格式的文件,改完再转成ANSI格式文件,这样就可以顺利关闭中文名称的进程了。进程名中的 *32不用理会,表示的是32位的程序。 批处理文件的内容如下: @echo off ping  -n 2 127.1 >nul
centos 关闭进程
pkill -9 nginx
进程结束后,进程的所有内存都将被释放,包括堆上的内存泄露的内存。
原因是,当进程结束时,GDT、LDT和页目录都被操作系统更改,逻辑内存全部消失,可能物理内存还在但是逻辑内存已经从LDT和GDT删除,页目录表全部销毁,所以内存会被全部收回。一下这段代码,我个人认为可以作为例证,不对请多指教:#include using namespace std; const static int const_once = 1024*1024*2; int _tmain(int argc, _TCHAR* argv[]) { int *a; for(int cnt=0;
Tomcat内存泄露处理方法
 java.lang.OutOfMemoryError: Java heap space 可以尝试办法:A.修改Tomcat/bin/catalina.bat,添加如下内容set JAVA_OPTS=-Xms256m -Xmx512m -Djava.awt.headless=true [-XX:MaxPermSize=128M]B.eclipse->windows->preferenc
解决线程的内存泄露的办法
线程创建后,没有调用pthread_join 或 pthread_detach会导致内存泄漏。 解决方法有以下几种: 第一种:在线程处理函数中调用 pthread_detach函数 pthread_detach(pthread_self());  第二种:在创建线程的设置PTHREAD_CREATE_DETACHED属性 pthread_attr_t attr
Loadrunner11示例:飞机订票系统。如何手写开发脚本?
背景:点击loadrunner11步骤安装,注意:程序自带安装的草莓千万别卸载,留着吧,不然订票系统打不开或其他错误。现在再说它的录制功能,深受广大使用者喜爱,这也是loadrunner本身受欢迎的优势,loadrunner怎样录制脚本,以及录制过程中遇到的问题,都可以点击本文提供的链接参考解决。我坦白:本机windows7系统+ie11,不想通过降低ie版本来实现脚本的录制,或是通过代理录制ch...
centos6.8启动防火墙失败解决方案
我是centos6.8的系统,在配置vsftpd的过程中,需要进行防火墙的配置,这时候遇到了问题。 一、首先我的/etc/sysconfig/iptables这个文件并不存在,需要解决这个问题。 1.任意运行一条iptables防火墙规则配置命令:  iptables -P OUTPUT ACCEPT  2.对iptables服务进行保存:  service iptables save...
解决 centos 7 部署 tomcat 后外部不能访问应用(端口、防火墙)
解决 centos 7 部署 tomcat 后外部不能访问应用(端口、防火墙)问题背景解决问题1、查看默认防火墙状态2、检查防火墙的状态3、开启防火墙4、添加开放的端口5、重新加载6、查看开放的端口 问题背景 在 centos 部署了 tomcat 服务后,启动成功,通过浏览器访问应用时没有响应; 后发现能 ping 通 centos 机器的 ip,分析后得知防火墙未配置 tomcat 服务的端口...
Centos下查看占用端口并关闭进程方法
查看端口占用情况:netstat –tlnp (加p可以看到是哪个进程占用了端口); 也可以用grep查找对应的被占用的端口,键入netstat –tlnp | grep 3306可以看到PID为1771 关闭进程:键入kill 1771即可杀死mysqld进程,然后键入netstat –tlnp |grep 3306发现,这个进程没有在运行了。 参考: 1. Centos下查看占用端口并
tomcat7改为80端口报错解决
tomcat7端口改为80后无法正常监听80端口,查看日志文件/var/log/tomcat7/catalina.XX.log报错信息如下: SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-80"]
shell脚本监测进程并实现自动启动
#!/bin/sh ### =========================================================== ### ## ## ## voicepairserver start script / xiaxing ...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 学习java进程 java学习后怎么规划

相似问题

2
centos下,tomcat7关闭后报错内存泄露,并开启多个java进程,不知怎么处理
2
java 北京时间转太平洋时间
2
apringtask项目使用ssm框架但是并没有使用到mvc项目运行后报很多错 是配置文件有问题嚒
2
两天了mybits神奇的报错 不知道哪里出了问题 csdn办法都试过还是不行 最简单的部署mybits测试类查询
3
springboot 使用druid往后台传值SQL报错,是在是头疼不知道怎么办了,高C币,解决必采纳
0
springmvc拦截器处理加密参数后如何放到request中 ,再让控制层可以request.getParameter("xx")得到?
1
求助,Spring Boot启动Eureka报错!
0
微服务 引入feign 远程调用服务接口报错feign.FeignException: status 406 reading xxx#xxxx()
1
springboot JPA的DAO报错NullPointerException
3
springboot报错,大佬们帮我看下,指教指教
1
Activiti5 的邮件自动发送报错,卡住一整天了
3
ssm 在jsp 导入jstl 包就报错,不导入就不报错 . 各位指导下
0
netty 的mqtt服务要怎么写?有没有源码github
1
Java MVC开发模式中, service层或者controller层调用的普通方法应该写在哪里?
1
将springboot部署到外置tomcat 端口怎么解决?
1
关于JSP中使用JSTL中的标签处理资源国际化的问题,没有使用框架
1
怎么通过zookeeper节点获取Dubbo rest协议的服务请求路径呢?
1
用BigDecimal和int类型相乘,怎么实现
3
双开idea 做socket连接,怎么相互访问不到啊?
1
springboot报错,大佬们帮我看下,指教指教