开发者

Druid连接池未关闭导致内存泄漏问题

开发者 https://www.devze.com 2023-12-19 10:35 出处:网络 作者: qq_25014509
目录Druid连接池未关闭导致内存泄漏解决的方案总结Druid连接池未关闭导致内存泄漏
目录
  • Druid连接池未关闭导致内存泄漏
  • 解决的方案
  • 总结

Druid连接池未关闭导致内存泄漏

莫名奇妙的部署在tomcat上的小幺鸡挂掉了。

看了日志,一大堆相似的错误。

又是连接池的问题,我记得上次还是C3p0的错误

原因主要是无法注销jdbc.driver。

导致内存泄漏,无法gc连接源

解决的方案

百度了很多。感觉都是在扯淡。没毛线用,实操之后。发现还是在linux上关闭Socket更实用

1、ps tomcat正在运行

2、用netstat 查看8080连接情况,有大量的close-wait,还有一些等待连接的状态

3、查看服务器的使用情况,没有过多的消耗内存和CPU4、重新加载javascript界面,没有报错,只是显示加载失败5、加载时看到tomcat 日志报错 out of mhttp://www.devze.comemary

特别是有编程大量得CLOSE_WAIT得情况下解决方案:先把链接数据库的Session全部关掉

第二解决方案3:

修改linux的TCP超时时间(socket生命周期)限制

vi /etc/sysctl.conf

Decrease the time default value for tcp_fin_timeout connectionnet.ipv4.tcp_fin_thttp://www.devze.comimeout = 30# Decrease the time default value for tcp_keepalive_time connectionnet.ipv4.tcp_keepalive_time = 1800# 探测次数net.ipv4.tcp_keepalive_probes=2# 探测间隔秒数net.ipv4.tcp_keepalive_intvl=2 编辑完 /etc/sysctl.conf,要重启network 才会生效[root@temp /]# /etc/rc.d/injnmQkeMNLgit.d/network restart

这个是参考的连接写的很详细 

//www.jb51.net/server/308224150.htm

Druid连接池未关闭导致内存泄漏问题

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号