mysql - java.lang.OutOfMemoryError: GC overhead limit exceede
PHP中文网
PHP中文网 2017-04-18 09:33:48
[Java讨论组]

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

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(3)
怪我咯

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

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

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

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

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

阿神

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号