java.lang.OutOfMemoryError: GC overhead limit exceede

我开了很多个线程爬取网页上的信息,然后将这些信息写入数据库。
但是不管我开启多少个线程,每当写入数据库三万多条记录之后就会报出下面这个异常,请问如何解决呢???
图片描述

阅读 3.8k
3 个回答

你的sql连接是不 既不重用又不关闭...

有个治标不治本的方法,就是增大jvm的内存。
启动参数里加-Xms512m -Xmx1024m

  1. 把GC详细日志打出来,观察内存GC情况

  2. 把当时的内存快照dump出来,观察是哪些对象占着内存

PS:估计有大对象,大对象直接进入老年代,并且在应用中还持有大对象的引用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题