zoukankan      html  css  js  c++  java
  • Nacos client 客户端cpu占用100% 问题排查和解决方案

    Nacos version:1.1.3
    client version:1.0.0

    dependency: 'org.springframework.cloud:spring-cloud-alibaba-nacos-config:0.9.0.RELEASE'

    description as below:

    NacosConfigService will be rebuilt every time the configuration file is changed in the console. After hundreds of configuration changes, the CPU will burst due to too many ClientWorker threads created.The NacosConfigService classe is not manually created。

    image

    Maybe problem is in the class org.springframework.cloud.alibaba.nacos.NacosConfigProperties,because springcloud will refresh class with annotation @ConfigurationProperties,this class will be rebuilt after every refresh phase.

    image

    image

    详情可参考 issue :https://github.com/alibaba/spring-cloud-alibaba/issues/912

    问题简单点描述为:使用了org.springframework.cloud:spring-cloud-alibaba-nacos-config:0.9.0.RELEASE 客户端,在持续刷新配置文件的情况下会造成cpu 100%。

    原因是因为在springcloud refresh environment的时候,NacosConfigService 会重复创建,NacosConfigService中包含了几个定时任务的线程(名为:com.alibaba.nacos.client.Workder.fixed-***),在多次修改(线上慢慢积累)配置文件后,积累的的Worker线程会耗费掉cpu资源。

    解决办法:hold住 NacosConfigService实例,在刷新的时候不去创建新的类。注意:naming模块也有相同的问题,解决办法相同。

  • 相关阅读:
    Lock、Synchronized锁解析
    js多个计时器互不影响触发
    php Excel文件导入 Spreadsheet_Excel_Reader
    Tcp/ip简介
    对称加密和非对称加密
    AFNetworking 3.0迁移指南
    从 Objective-C 里的 Alloc 和 AllocWithZone 谈起
    iOS 沙盒
    SDWebImage解析
    dSYM文件
  • 原文地址:https://www.cnblogs.com/luoluoshidafu/p/11527022.html
Copyright © 2011-2022 走看看