Druid連接池未關(guān)閉導(dǎo)致內(nèi)存泄漏問題
Druid連接池未關(guān)閉導(dǎo)致內(nèi)存泄漏
莫名奇妙的部署在tomcat上的小幺雞掛掉了。
看了日志,一大堆相似的錯(cuò)誤。
又是連接池的問題,我記得上次還是C3p0的錯(cuò)誤
原因主要是無法注銷jdbc.driver。
導(dǎo)致內(nèi)存泄漏,無法gc連接源
解決的方案
百度了很多。感覺都是在扯淡。沒毛線用,實(shí)操之后。發(fā)現(xiàn)還是在Linux上關(guān)閉Socket更實(shí)用
1、ps tomcat正在運(yùn)行
2、用netstat 查看8080連接情況,有大量的close-wait,還有一些等待連接的狀態(tài)
3、查看服務(wù)器的使用情況,沒有過多的消耗內(nèi)存和CPU4、重新加載界面,沒有報(bào)錯(cuò),只是顯示加載失敗5、加載時(shí)看到tomcat 日志報(bào)錯(cuò) out of memary
特別是有大量得CLOSE_WAIT得情況下解決方案:先把鏈接數(shù)據(jù)庫的Session全部關(guān)掉
第二解決方案3:
修改linux的TCP超時(shí)時(shí)間(socket生命周期)限制
vi /etc/sysctl.conf
Decrease the time default value for tcp_fin_timeout connectionnet.ipv4.tcp_fin_timeout = 30# Decrease the time default value for tcp_keepalive_time connectionnet.ipv4.tcp_keepalive_time = 1800# 探測次數(shù)net.ipv4.tcp_keepalive_probes=2# 探測間隔秒數(shù)net.ipv4.tcp_keepalive_intvl=2 編輯完 /etc/sysctl.conf,要重啟network 才會生效[root@temp /]# /etc/rc.d/init.d/network restart
這個(gè)是參考的連接寫的很詳細(xì)
//www.dbjr.com.cn/server/308224150.htm
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java實(shí)現(xiàn)隨機(jī)生成驗(yàn)證碼圖片
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)隨機(jī)生成驗(yàn)證碼圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12詳解idea maven項(xiàng)目如何使用lib下得jar包
這篇文章主要介紹了詳解idea maven項(xiàng)目如何使用lib下得jar包,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12java隨機(jī)數(shù)生產(chǎn)算法實(shí)例
下面小編就為大家?guī)硪黄猨ava隨機(jī)數(shù)生產(chǎn)算法實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10Java中使用Socket發(fā)送Java對象實(shí)例
這篇文章主要介紹了Java中使用Socket發(fā)送Java對象實(shí)例,本文使用對象流直接發(fā)送對象,本文同時(shí)給出代碼實(shí)例,需要的朋友可以參考下2015-05-05SpringCloud之Feign代理,聲明式服務(wù)調(diào)用方式
這篇文章主要介紹了SpringCloud之Feign代理,聲明式服務(wù)調(diào)用方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03