一个物理服务器,多个游戏服务器
c3p0在连接数据库时,过多时会出现 out of memery , 无法创建新的进程 cannot create native thread
发现程序创建了太多Timer, 有太多TimerThread waiting
最终定位到
mysql-connector-java-5.0.4上面
如果用连接池 Druid 也不会,关键用了c3p0
mysql在创建connection的时候, 会创建一个Timer, 这个timer一般情况下不能回收
解决方案:
1,换c3p0改为Druid
2,换mysql-connector-java版本,暂时5.1.40没发现问题, https://bugs.mysql.com/bug.php?id=36565 也提到这个Timer