求助>查询数据量大导致spring boot应用发生GC overhead limit exceeded>
6回复

查询数据量大导致spring boot应用发生GC overhead limit exceeded



后面gc回收正常了,cpu和堆占用都下来了,但是程序假死了。
通过jstack初步分析tomcat的Acceptor挂掉了,导致没法接收前端请求。
因为初步分析所以还不是很确定,但是线程堆栈确实没http-nio-8901-Acceptor这个线程了,但是定时任务也不打印,所以就很难准确定位问题。

648 阅读
请先登录,再评论

回复列表

还可以用一些动态工具运行时临时改下他的方法逻辑把异常输出出来

回复 大佬们的小马甲:

嗯嗯,我试试,多谢

回复

这应该是因为acceptor线程因为预期外异常直接退出了吧,有明显的异常和错误吗?

回复 大佬们的小马甲:

有可能,我看他代码好好多地方没打印日志,我在看看本地能不能把这种场景模拟出来,能模拟出来就好办了

回复
回复 社群问题小管家:

这个应该挺难定位到具体问题了,得改下tomcat源代码抓下原始异常,估计被吃掉了

回复
回复 大佬们的小马甲:

没看到具体的错误,我也怀疑这点分析了他的代码,没看到日志,但是这个线程不见了。。。

回复