开发者社区> 问答> 正文

在性能优化中,CPU 相关指标异常的分析思路是什么?

在性能优化中,CPU 相关指标异常的分析思路是什么?

展开
收起
云上静思 2021-10-18 19:03:00 571 0
1 条回答
写回答
取消 提交回答
    1. CPU 利用率:如果我们观察某段时间系统或应用进程的CPU 利用率一直很高(单个core 超过80%),那么就值得我们警惕了。我们可以多次使用jstack 命令dump 应用线程栈查看热点代码,非Java 应用可以直接使用perf 进行CPU 采采样,离线分析采样数据后得到CPU 执行热点(Java 应用需要符号表进行堆栈信息映射,不能直接使用perf 得到结果)。
    2. CPU 平均负载:平均负载高于CPU 数量70%,意味着系统存在瓶颈点,造成负载升高的原因有很多,在这里就不展开了。需要注意的是,通过监控系统监测平均负载的变化趋势,更容易定位问题,有时候大文件的加载等,也会导致平均负载瞬时升高。如果1 分钟/5 分钟/15 分钟的三个值相差不大,那说明系统负载很平稳,则不用关注,如果这三个值逐渐降低,说明负载在渐渐升高,需要关注整体性能;
    3. CPU 上下文切换:上下文切换这个指标,并没有经验值可推荐(几十到几万都有可能),这个指标值取决于系统本身的CPU 性能,以及当前应用工作的情况。但是,如果系统或者应用的上下文切换次数出现数量级的增长,就有很大概率说明存在性能问题,如非自愿上下切换大幅度上升,说明有太多的线程在竞争CPU。

    资料来源:《Java开发者面试百宝书》,链接:https://developer.aliyun.com/topic/download?id=7899

    2021-10-19 15:57:11
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
RDS SQL Server CPU高使用率性能优化 立即下载
如何做小程序性能优化 立即下载
Web服务架构变化及性能优化 立即下载