新闻资讯

新闻资讯 行业动态

系统出现高CPU的原因是什么

编辑:008     时间:2020-02-08

死循环

这个原因是最常见的,也是初学者或经验较少的开发者会遇到比较多的原因。我们比较清楚的知道HashMap在多线程环境下出现线程不安全问题,可能会造成死循环。还有我以前在工作中也有遇到,就是使用定时任务分页拉取数据进行处理的时候,如果在条件查询上没有明确定义好可能会造成一直查询数据,一直没有达到终止条件,就会一直循环拉取数据,一直处理,可能就造成CPU飙高,最后不得不修复bug后再重启应用。

2

序列化

序列化的方式目前有很多种,包括Java原生以流的方法进行的序列化、Json序列化、FastJson序列化、Protobuff序列化等等。序列化也是一种消耗CPU比较高的方式。也有可能一些序列化方式会出现bug造成的高CPU。


3

加解密

在加解密时,会消耗较多的CPU进行处理计算。


4

正则表达式

正则表达式在使用的时候也要特别注意,有些情况是会出现高CPU。要注意贪婪模式和回溯问题。


5

计算型

如果应用是计算密集型应用,需要消耗很多CPU进行计算,这时也会出现CPU高的情况。


6

大流量

在流量比较大的情况,比如秒杀系统,瞬时巨大的流量冲击我们的系统,这个时候也会造成系统的总体负载很高,也是高CPU的罪魁祸首之一。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

回复列表

相关推荐