问题发现
近期发现某个docker容器的CPU使用率高达200%,看了下线程数有上百个,打堆栈(参考链接https://www.runjf.com/linux/docker-java-process-cpu
)查看发现有大量"com.alibaba.nacos.client.Worker.fixed-xxxx_8848" #21776 daemon prio=5 os_prio=0 tid=0x00007f9b548bc800 nid=0x4d59 runnable [0x00007f9a81527000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000e46c2388>
问题解决
搜索了很多文章,发现这篇讲的特别好,[记druid 在配置中心下的一个大坑: cpu 达到 100%
总结一下就是:druid有个bug,nacos 会每个30 s 就去获取配置, 然后rebind, 但是druid-1.0.26 rebind 就会报错。
所以解决办法是就是升级druid版本到1.1.5
网友评论