搜尋

首頁  >  問答  >  主體

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

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

PHP中文网PHP中文网2837 天前849

全部回覆(3)我來回復

  • 怪我咯

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

    你的sql連線是不 既不重用又不關閉...

    有個治標不治本的方法,就是增大jvm的記憶體。
    啟動參數裡加-Xms512m -Xmx1024m

    回覆
    0
  • 怪我咯

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

    1. 把GC詳細日誌打出來,觀察記憶體GC狀況

    2. 把當時的記憶體快照dump出來,觀察是哪些物件佔記憶體

    PS:估計有大物件,大物件直接進入老年代,並且在應用中還持有大物件的引用

    回覆
    0
  • 阿神

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

    朋友幫忙推測的結論,您可以試試

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

    回覆
    0
  • 取消回覆