开发者社区> 问答> 正文

java.lang.OutOfMemoryError: Java heap space

pid:60 nid:2 exception:canal:yoolifin_ yoolifin:com.alibaba.otter.canal.parse.exception.CanalParseException: java.lang.OutOfMemoryError: Java heap space Caused by: java.lang.OutOfMemoryError: Java heap space at java.lang.String.substring(String.java:1969) at com.alibaba.druid.sql.parser.Lexer.subString(Lexer.java:134) at com.alibaba.druid.sql.parser.Lexer.scanString2(Lexer.java:1045) at com.alibaba.druid.sql.dialect.mysql.parser.MySqlLexer.scanString(MySqlLexer.java:406) at com.alibaba.druid.sql.parser.Lexer.nextTokenValue(Lexer.java:388) at com.alibaba.druid.sql.parser.SQLStatementParser.parseValueClause(SQLStatementParser.java:3229) at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseInsert(MySqlStatementParser.java:2514) at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseInsert(MySqlStatementParser.java:47) at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:165) at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:70) at com.alibaba.druid.sql.SQLUtils.parseStatements(SQLUtils.java:473) at com.alibaba.otter.canal.parse.inbound.mysql.ddl.DruidDdlParser.parse(DruidDdlParser.java:47) at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert.parseRowsQueryEvent(LogEventConvert.java:300) at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert.parse(LogEventConvert.java:122) at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert.parse(LogEventConvert.java:66) at com.alibaba.otter.canal.parse.inbound.AbstractEventParser.parseAndProfilingIfNecessary(AbstractEventParser.java:337) at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3$1.sink(AbstractEventParser.java:184) at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:145) at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:220) at java.lang.Thread.run(Thread.java:745)

原提问者GitHub用户 luyee

展开
收起
古拉古拉 2023-06-18 10:23:36 108 0
1 条回答
写回答
取消 提交回答
  • dump出来发现buffer里边Event实例有13332个,总大小达6.8G多. tu6.png

    起初慢慢增大Xmx到8192m了,修改了pipeline的batchSize,还是会出现OOM。

    其实应该修改canal的参数(内存存储buffer记录数)。这个默认是32768, 可以按比例设置小一些,这个只对当前canal有效

    原回答者GitHub用户 luyee

    2023-06-18 11:00:06
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载