CPU飙升的原因
- tomcat高并发项目的时候,所有线程都是运行状态,消耗CPU资源
- 分布式锁(重试机制)
当前节点如果没有抢到锁,CAS自旋,保证用户线程一直在用户态,消耗CPU资源,自旋的时候一定要加次数限制。
如何避免生产环境CPU飙升
- 对服务器接口进行限流,熔断,降级
- 耗时的代码不要写成同步的,可以改成mq
- 自旋的时候一定要加次数限制
生产环境CPU飙升问题排查
- windows服务器,任务管理器查看
- Linux服务器,top
系统监控软件:当服务器CPU飙升到一定阈值(70%),进行警告通知
来源:https://www.bilibili.com/video/BV125411b7qM?p=8&spm_id_from=pageDriver