可能导致CPU占用率过高的场景与解决方案

简介: 尽量减少无限循环、让循环执行得慢一点(sleep)

场景1:无限while循环


解决方案:尽量减少无限循环、让循环执行得慢一点(sleep)


场景2:频繁GC


解决方案:降低GC频率


场景3:频繁创建新对象


解决方案:合理使用单例


场景4:序列化和反序列化 https://blog.51cto.com/jianshusoft/766400


解决方案:选择合理的API实现功能、选择好用的序列化/反序列化类库


场景5:正则表达式。原因是正则表达式使用了NFA自动机的引擎,这种引擎在进行字符串匹配的时候会发生回溯,可能导致CPU占用率过高。关于NFA的更多细节及解决方案可以参考下面的文章:


https://blog.csdn.net/u013278314/article/details/80916104


场景6:频繁的线程上下文切换


解决方案:降低切换的频率,可能需要结合业务进行改造,复杂度较高


相关文章
|
2月前
|
Web App开发 Java 测试技术
ChaosBlade常见问题之演练场景页面乱码cpu使用率图片显示不出来如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
|
10月前
|
安全 Windows
一次简单的服务器 cpu 占用率高的快速排查实战
一次简单的服务器 cpu 占用率高的快速排查实战
|
11月前
|
运维 监控 Java
内存溢出+CPU占用过高:问题排查+解决方案+复盘(超详细分析教程)
全网最全的内存溢出CPU占用过高排查文章,包含:问题出现现象+临时解决方案+复现问题+定位问题发生原因+优化代码+优化后进行压测,上线+复盘
1813 5
|
9月前
|
Web App开发 缓存 JavaScript
Node.js 应用高 CPU 占用率的分析方法
Node.js 应用高 CPU 占用率的分析方法
|
2月前
|
Java 关系型数据库 MySQL
服务器cpu 100%解决方案
服务器cpu 100%解决方案
30 0
|
2月前
|
NoSQL 关系型数据库 MySQL
热点数据更新导致CPU100%的解决方案
热点数据更新导致CPU100%的解决方案
51 0
|
10月前
|
C++ 索引 Windows
调试实战——程序CPU占用率飙升,你知道如何快速定位吗?
程序CPU占用率飙升,你知道如何快速定位吗?
CPU利用率高又看不到占用率高的进程?
CPU利用率高又看不到占用率高的进程?
149 0
|
弹性计算 运维 监控
运维编排系列场景--通过告警触发自动重启CPU使用率高的ECS实例
运维编排(OOS) 简介什么是OOSOperation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更
202 0
|
缓存
CPU流水线竞争解决方案
增加资源,通过添加指令缓存和数据缓存,让我们对于指令和数据的访问可以同时进行。帮助CPU解决取指令和访问数据之间的资源冲突。
105 0

热门文章

最新文章