Druid連接池未關閉導致內(nèi)存泄漏問題
Druid連接池未關閉導致內(nèi)存泄漏
莫名奇妙的部署在tomcat上的小幺雞掛掉了。
看了日志,一大堆相似的錯誤。
又是連接池的問題,我記得上次還是C3p0的錯誤
原因主要是無法注銷jdbc.driver。
導致內(nèi)存泄漏,無法gc連接源
解決的方案
百度了很多。感覺都是在扯淡。沒毛線用,實操之后。發(fā)現(xiàn)還是在Linux上關閉Socket更實用
1、ps tomcat正在運行
2、用netstat 查看8080連接情況,有大量的close-wait,還有一些等待連接的狀態(tài)
3、查看服務器的使用情況,沒有過多的消耗內(nèi)存和CPU4、重新加載界面,沒有報錯,只是顯示加載失敗5、加載時看到tomcat 日志報錯 out of memary
特別是有大量得CLOSE_WAIT得情況下解決方案:先把鏈接數(shù)據(jù)庫的Session全部關掉
第二解決方案3:
修改linux的TCP超時時間(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
這個是參考的連接寫的很詳細
//chabaoo.cn/server/308224150.htm
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringCloud之Feign代理,聲明式服務調(diào)用方式
這篇文章主要介紹了SpringCloud之Feign代理,聲明式服務調(diào)用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03