Heim  >  Fragen und Antworten  >  Hauptteil

mysql - java.lang.OutOfMemoryError: GC overhead limit exceede

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

PHP中文网PHP中文网2766 Tage vor796

Antworte allen(3)Ich werde antworten

  • 怪我咯

    怪我咯2017-04-18 09:35:48

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

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

    Antwort
    0
  • 怪我咯

    怪我咯2017-04-18 09:35:48

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

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

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

    Antwort
    0
  • 阿神

    阿神2017-04-18 09:35:48

    朋友帮忙推测的结论,您可以试一下

    http://www.yl1001.com/group_article/1721468995450102.htm?classic_id=7691469068392318#comment_7691469068392318

    Antwort
    0
  • StornierenAntwort