一次JVM调优经历

前几天前端同事找我帮忙解决一个频繁FullGC问题。在100用户,每秒5个请求条件下进行测试,发现频繁FullGC。

使用VisualVM观察Jvm运行时信息,发现DB连接池占用了较多的资源。于是看了一下DB连接池的配置。

原来使用的是DriverManagerDataSource,DriverManagerDataSource没有实现连接池机制,也就是说一次请求,就需要创建一个DB链接,当并发高时,意味着创建大量的DB链接,由于内存空间有限,而DB链接又是比较占用内存的对象,所以当创建大量DB链接时,内存空间不够,就频繁发生PSYoungGen GC行为。

posted @ 2018-09-07 16:26  星际行者  阅读(485)  评论(0编辑  收藏  举报