尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

一次cpu飙高排查

一次cpu飙高排查 公司有个系统大概两周左右cpu飙高访问量不大运维给了火焰图 看火焰图大概明白是什么问题频繁的线程切换很可能是增加一个线程没有释放线程不断增加线程占cpu时间cpu不停的切换线程有这个方向就容易想到看一下线程快照发现又4000多个nacos client线程问题就明显了接下来就要找到创建nacos client的地方nacos client一般集成spring cloud实例不会出问题主要是找手动创建的代码。使用调用ide的call hirerarchy果然创建了ConfigService没有关闭写这个代码的程序员是懂gc认为服务会回收但gc不会回收线程ConfigService内嵌一个worker打开线程不停刷最新的配置总结这个问题排查比较简单但有点值得注意通常认为gc会帮我们回收服务资源新建服务不会手动关闭但对于像ConfigService这样的服务打开了一个驻留线程需要手动关闭当然最好使用单例模式。
返回列表