最近服务经常OOM,发现old区激增,存在大量无法释放的类,使用memory分析,GroovyClassLoder经常加载,求各位大佬解答

发布于 2022-01-05 16:30:13 字数 1522 浏览 925 评论 4

小弟第一次解决这种问题,并且项目中没有使用Groovy语言,但是引入了相关jar包,发现与数据库连接池相关,数据库连接池使用Druid,并且使用了Sharding-Sphere进行了单库分表;进行压测时发现内存使用90%以上;old经常会满,然后进行full GC释放一些;

下面时使用memory分析的一些图:

这是一些分析的图片,希望可以有大佬解答,如果还需要什么相关的分析请告知小弟;感谢感谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

噩梦成真你也成魔 2022-01-07 19:30:21

嗯,是Groovy动态加载原因

旧伤慢歌 2022-01-07 11:14:20

Groovy动态加载class文件,肯定会导致old区比较大,容易满,因为class信息都是存放在old区的。你这个情况要么在使用的时候,看什么情况下,class信息不需要,然后把class信息卸载掉,要么增大old区的内存大小,减少fullGc的次数

温柔少女心 2022-01-07 08:54:18

发现确实是因为shardingsphere的原因,项目去掉这个单库分表后确实好转很多

琴流音 2022-01-07 01:52:41

如果团队没有特别熟悉这玩意儿的尽量别用吧

https://github.com/apache/incubator-shardingsphere/issues/919

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文