java项目tomcat启动后 内存一直升,直到内存耗完,mysql 先停掉,

为了那份宁静 2016-02-17 06:05:07

这两天服务总是频繁死掉,好烦,今天我用jconsole 查看到cpu 正常,但是内存一直在慢慢的上升,快上到顶峰了,我点了一下
执行GC 然后内存就下来了,下来后如果不管他,内存还会再次一路高歌猛进,我估计是程序造成了内存泄露,然后我就想知道
到底是哪些程序造成的,想看看到底是什么代码让内存一直往上升,但是我百度了好久,都没有找到教我如何找到代码的方法,所有特在此请教,怎么解决。谢谢,最后在问一下,图中的housekeeper 线程数也在一直增加,是为什么?百度了没有满意的答案!


...全文
1824 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
IAmObject 2017-07-12
  • 打赏
  • 举报
回复
mySQL直接挂掉的话,是不是哪里写了一直去查数据,导致数据库链接特别多,这种情况会很占内存
那年冬天丶 2017-06-16
  • 打赏
  • 举报
回复
查看一下 是不是tomcat设置的jvm 最大内存的问题 如果设置太大 是不会自动GC的
jun1210 2017-06-16
  • 打赏
  • 举报
回复
你这个看不出来是内存泄漏,可能只是年期代进入老年代,如果fullGC能够回到正常水位 说明不是内存泄漏 你手动fullgc之后内存回到正常水平,说明不是内存泄漏
tianfang 2016-03-11
  • 打赏
  • 举报
回复
jvisual 监控一下 看看那个类示例数最多
至爱唐宁 2016-03-09
  • 打赏
  • 举报
回复
用jmap看一下占用内存比较大的类是哪一个,然后检查引用这个类的代码是否有问题。
为了那份宁静 2016-03-03
  • 打赏
  • 举报
回复
引用 5 楼 u011278496 的回复:
看堆的图有规律,不像是内存泄漏。 可能IO没关闭,你的线程数等待的1000多个,但是图上没有啊,你筛选了? 看看tomcat挂时候的日志。
Tomcat 没挂掉,MySql 挂掉了,查看了日志是内存被消耗光了,然后服务停掉了,后来,我发现程序里面有一个比较耗时的定时任务每隔一分钟执行一次,关掉后,好多了。
为了那份宁静 2016-03-03
  • 打赏
  • 举报
回复
引用 5 楼 u011278496 的回复:
看堆的图有规律,不像是内存泄漏。 可能IO没关闭,你的线程数等待的1000多个,但是图上没有啊,你筛选了? 看看tomcat挂时候的日志。
Tomcat 没有挂掉,是mysql 挂掉了。
2.wa 2016-03-02
  • 打赏
  • 举报
回复
看堆的图有规律,不像是内存泄漏。
可能IO没关闭,你的线程数等待的1000多个,但是图上没有啊,你筛选了?
看看tomcat挂时候的日志。
iamjsber 2016-03-01
  • 打赏
  • 举报
回复
tomcat 安装路径有个什么xml 你把里面一些信息改一手
ahopedog 2016-02-24
  • 打赏
  • 举报
回复
以前我遇到一次,如果使用HttpComponent的话,未正常关闭连接,会造成线程越来越多,每个线程占用1m内存


  • 打赏
  • 举报
回复
既然你”点了一下 执行GC 然后内存就下来“,说明不是内存泄漏,而是开发者或者维护者自作聪明地禁用了 GC。
  • 打赏
  • 举报
回复
你这个看不出来是内存泄漏,可能只是年期代进入老年代,如果fullGC能够回到正常水位 说明不是内存泄漏 你手动fullgc之后内存回到正常水平,说明不是内存泄漏
工作流 Activiti 的学习总结(六) Activiti 的安装详细过程 activiti-5.6 的安装 项目中采用最新的 Activiti 版本为 5.6GA 的 activiti REST 方式访问相关的 REST WebService 服务, activiti 提供了 对 mysql 、 oracle 、 postgres 的全面支持。 demo 的安装脚本比之前的版本都有 了很大的优化,基本上按教程就能顺利 demo , 真正达到了 GA 的效果了。为此我将在使用 mysql 的安装过程及遇到的一些小问 题总结记录了下来。但是我们项目采用 H2 数据库 ( Generic H2 Server )方式存储数据(安装成功之后在 ${activiti_home}\apps\h2 目下保存数据文件 {activiti_db}.h2.db ) 和 {activiti_db}.lobs.db. 如下是在 windows XP 环境下使用 mysql 数据库的安装实录: 一)下载 activiti-5.6.zip 二)将 activiti-5.6zip 解压到指定目录,假设为“C: \mash_activiti- 5.6”, 注意下面提到的路径均是相对于该路径而言 三)检查数据库类型 打开文件“setup \ build.properties”修改 db=h2 (采用默认为 h2 )。 四)配置 H2 数据库 创建名称为 activiti 的空数据库,连接帐号设为 sa ,密码也设为 activiti 。 ( 如果不喜欢默认的连接配置,可以修改文件“setup \ build.h2.properties”中 相应的属性值) 五)预下载一些必需的文件到“C: \ downloads”(备注这一步可以不执行,非必 须的,在网络比较好的情况下,使用 ant 自动下载 ) “C: \ downloads”这个路径是在 build.properties 中通过属性 “downloads.dir”定义的,也可以手动修改指定其他位置。 如果确保网络环境很顺畅, 这一步也可以不做, 安装脚本会自动下载, 由于之前 的版本我安装时经常下载中断, 导致文件损坏、 安装异常, 所以我习惯了 下载,保证安装顺畅点。主要下载如下 2 个文件,左侧为下载地址,右侧为下载 后保存的文件名: 1 ) http://mirrors.enquira.co.uk/apache/apache-tomcat-6.0.32.zip (http://activiti.org/downloads/apache-tomcat-6.0.32.zip) --> apache-tomcat-6.0.32.zip ( 2.71MB ) 2 ) http://activiti.org/downloads/activiti-modeler-5.6.war --> activiti-modeler-5.6.war ( 31.8MB ) 六)修改浏览器的可执行文件路径(非必须) 打开文件“setup \ build.xml”修改属性 windows.browser 的值为浏览器的启动 文件对应的位置。如我一直使用 chrome ,配置如下: 修改这个的目的是方便下面的 "ant demo.start" 结束后自动打开浏览器访问相 关演示模块的首页。 七)检查一下你的电脑是否已经使用了 tomcat 服务 如果使用了 tomcat 服务, 得停掉, 否测会冲突。 顺便检查一下 8080 端口有没有 被占用,否测也会冲突导致安装失败。 八)安装 apache-ant-1.8.2 和 jdk1.5+ 环境 主要是设置环境变量 ANT_HOME 和 JAVA_HOME ,并 将 %ANT_HOME%\bin 、 %JAVA_HOME%\bin 设置到 path 环境变量中。 九)一切就绪后就可以开始体验了 命令行切换到“setup/",运行 "ant demo.start" ,等待整个安装过程自动完成 吧,安装完毕后默认会自动打开浏览器 十)测试是否安装成功 http://localhost:8080/activiti-probe 采用默认 admin 用户登录: 登录名称: kermit 登录密码: kermit 十一) activiti 手工启动方式如下: activiti 默认下载的 tomcat 和 h2 的安装目录为 ${activiti_home}/apps 目录如 (C:\mash_activiti-5.6\apps) 下面。 启动的 activit 服务需要 1. 启动 H2 数据库控制台 ( C:\mash_activiti-5.6\apps\h2\h2_console.start.bat ,控制台 web 访问开 放端口为 8082 ) 2. 再启动 H2 数据库访问服务 ( C:\mash_activiti-5.6\apps\h2\h2.start.bat , H2 程序访问开放端口为 9092 ) 我在安装使用过程中遇到如下一些问题: tomcat 控制台显示的中文乱码 解决办法:修改文件 apps\apache-tomcat-6.0.32\conf\logging.properties , 增加如下一行的配置: java.util.logging.ConsoleHandler.encoding = GBK
项目中使用的技术: 1、前端:jsp、css、javascript、jQuery(js框架)、jquery.form.js、HTML富文本编辑器、        My97时间控件(添加员工)2、后台:Struts2、动态代理、Mybatis框架、log4J日志框架、jstl 、jstl自定义分页标签、代码机器人、Dwr、POI(实现Excel文件的导入导出)等3、数据库:Mysql4、服务器:Tomcat项目中涉及的功能: 1、项目以及数据库搭建2、用户异步登录、退出3、拦截器功能实现以及整合动态代理4、公告模块的增加、修改、删除、查询以及预览功能实现、文件异步上传5、文档模块的增加、修改、删除、查询以及文档的上传下载6、员工信息的增加、修改、删除、查询以及员工头像异步上传、员工信息导出至Excel文件7、自定义分页标签实现(24种样式随意切换)8、代码机器人使用等等其他实战项目java项目实战之电商系统全套(前台和后台)(java毕业设计ssm框架项目)https://edu.csdn.net/course/detail/25771 java项目之oa办公管理系统(java毕业设计)https://edu.csdn.net/course/detail/23008 java项目之hrm人事管理项目java毕业设计)https://edu.csdn.net/course/detail/23007 JavaWeb项目实战之点餐系统前台https://edu.csdn.net/course/detail/20543 JavaWeb项目实战之点餐系统后台https://edu.csdn.net/course/detail/19572 JavaWeb项目实战之宿舍管理系统(Java毕业设计含源码)https://edu.csdn.net/course/detail/26721 JavaWeb项目实战之点餐系统全套(前台和后台)https://edu.csdn.net/course/detail/20610 java项目实战之电子商城后台(java毕业设计SSM框架项目)https://edu.csdn.net/course/detail/25770 java美妆商城项目|在线购书系统(java毕业设计项目ssm版)https://edu.csdn.net/course/detail/23989 系统学习课程:JavaSE基础全套视频(环境搭建 面向对象 正则表达式 IO流 多线程 网络编程 java10https://edu.csdn.net/course/detail/26941 Java Web从入门到电商项目实战挑战万元高薪(javaweb教程)https://edu.csdn.net/course/detail/25976其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧