1.1.0 版本canal server 启动后cpu一直100%甚至160%,这个属于这个版本存在的问题还是使用姿势问题? 配置方面用的canal.instance.global.spring.xml = classpath:spring/default-instance.xml ,使用kafka集成的方式
不管有没有binlog下来,canal server 进程的cpu消耗基本上一直100%的样子
现在部署到压测环境了,没有任何binlog下载的情况下,部署了4台云机,8核心的机器,8个destination,cpu800%,求大佬解决啊
"pool-12-thread-1" #29 prio=5 os_prio=0 tid=0x00007fdee4afa000 nid=0x2394 runnable [0x00007fde6cce4000] java.lang.Thread.State: RUNNABLE at com.alibaba.otter.canal.store.model.Events.(Events.java:23) at com.alibaba.otter.canal.store.memory.MemoryEventStoreWithBuffer.doGet(MemoryEventStoreWithBuffer.java:280) at com.alibaba.otter.canal.store.memory.MemoryEventStoreWithBuffer.tryGet(MemoryEventStoreWithBuffer.java:261) at com.alibaba.otter.canal.server.embedded.CanalServerWithEmbedded.getEvents(CanalServerWithEmbedded.java:478) at com.alibaba.otter.canal.server.embedded.CanalServerWithEmbedded.getWithoutAck(CanalServerWithEmbedded.java:310) - locked <0x0000000740492388> (a com.alibaba.otter.canal.instance.spring.CanalInstanceWithSpring) at com.alibaba.otter.canal.server.embedded.CanalServerWithEmbedded.getWithoutAck(CanalServerWithEmbedded.java:273) at com.alibaba.otter.canal.kafka.producer.CanalKafkaStarter.worker(CanalKafkaStarter.java:121) at com.alibaba.otter.canal.kafka.producer.CanalKafkaStarter.access$000(CanalKafkaStarter.java:26) at com.alibaba.otter.canal.kafka.producer.CanalKafkaStarter$1.run(CanalKafkaStarter.java:70) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
从线程dump来看就是进入死循环new Events对象了
从jstat来看 500M eden区,启动15分钟 YGC 500次了,昨晚十点启动到现在的YGC64000次,FGC只有启动初始化因为STW的2次记录,也就是运行中没有YGC
原提问者GitHub用户yin007008
CanalKafkaStarter.worker估计未设置sleep时间,针对空结果时相当于无限循环在跑了, 可以优化一下
原回答者GitHub用户agapple
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。