加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

面试官:线上服务器CPU占用率高如何排查定位问题?

发布时间:2019-07-25 07:17:02 所属栏目:Windows 来源:佚名
导读:副标题#e# 国外开发者平台 HankerRank 发布的 2018 年开发者技能调查报告中有一项关于雇主最看重哪些核心能力的调查,结果显示如下: 排名前几的比较受重视的能力分别为:解决问题、编程语言熟练程度、Debug、系统设计和性能优化。 解决问题的能力以超高比

接下来就是通过查看代码来解决问题了,我们发现,我们自定义了一个BeanValidator,封装了Hibernate的Validator,然后在validate方法中,通过Validation.buildDefaultValidatorFactory().getValidator()初始化一个Validator实例,通过分析发现这个实例化的过程比较耗时。

我们重构了一下代码,把Validator实例的初始化提到方法外,在类初始化的时候创建一次就解决了问题。

4、总结

以上,展示了一次比较完成的线上问题定位过程。主要用到的命令有:top 、printf 和 jstack

另外,线上问题排查还可以使用Alibaba开源的工具Arthas进行排查,以上问题,可以使用一下命令定位:

  1. thread -n 3 //查看cpu占比前三的线程 

以上,本文介绍了如何排查线上服务器CPU使用率过高的问题,如果大家感兴趣,后面可以再介绍一些关于LOAD飙高、频繁GC等问题的排查手段。

【编辑推荐】

  1. Firefox的UA将移除CPU架构信息
  2. 如何在Linux服务器上设置ulimit和文件描述符数限制
  3. CPU是如何访问内存的?
  4. Linux系统CPU占用率较高问题排查思路
  5. 使用 Shell 在多服务器上批量操作
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读