目录

1. 通用排查思路

2. 环境工具

3. 示例演示

3.1 准备工作:为模拟有占用CPU高的进程,这里编写一个java程序,无限循环,运行

3.2 通过 Process Explorer软件(procexp.exe)查看进程和线程的情况

3.3 将3.2中的TID转换为16进制 -> ${tid16}

3.4 打开 jvisualVM, dump出线程信息,查找${tid16}

(1)在Java安装目录下,找 jvisualVM,双击,打开

(2)右键, dump出线程信息

(3)解析dump出的信息,排查问题

(4)反编译/直接看代码定位问题


1. 通用排查思路

(1)发现CPU高的进程,一般来说是我们的被测应用。

(2)通过进程找对应消耗CPU高的线程。

(3)查看占用CPU高的线程在干嘛(进制转换,做映射)。

2. 环境工具

win10

Process Explorer软件

jvisualVM (Java自带插件工具)

3. 示例演示

3.1 准备工作:为模拟有占用CPU高的进程,这里编写一个java程序,无限循环,运行

即:发现应用程序(JAVA 后端应用)占用CPU比较多。

3.2 通过 Process Explorer软件(procexp.exe)查看进程和线程的情况

先找占用cpu高的进程,双击。

在弹出的新窗口中,找该进程对应的占用cpu高的线程。

3.3 将3.2中的TID转换为16进制 -> ${tid16}

3.4 打开 jvisualVM, dump出线程信息,查找${tid16} 

(1)在Java安装目录下,找 jvisualVM,双击,打开

(2)右键, dump出线程信息

 (3)解析dump出的信息,排查问题

在dump出来的结果中,搜索前面转换后拿到的十六进制形式的 tid, 这个tid (nid)下的内容中,可能找到存在问题的具体程序信息。

(4)反编译/直接看代码定位问题

性能诊断定位之CPU问题排查(一):win10环境1相关推荐

  1. 性能诊断定位之内存问题排查(一):监控年轻代、年老代、元数据空间变化情况

    目录 1. 环境工具 2. jstat查看堆内存整体使用情况 3. jmap查看堆内存使用详情 4. jmap去dump对象详情 1. 环境工具 CentOS7,安装Java 2. jstat查看堆内 ...

  2. 通过Visual Studio诊断工具定位软件CPU瓶颈

    通过VS诊断工具定位软件CPU瓶颈 前情提示:正常情况下我们使用调试模式会看不到诊断工具窗口,控制台会报"无法启动标准收集器.请尝试修复 Visual Studio 的安装. (HRESUL ...

  3. Linux CPU性能优化 —— CPU使用率及高CPU使用率排查

    文章目录 CPU使用率的定义 查看CPU使用率:top和pidstat 排查高CPU使用率:pref 参考文献 写在前面: 由于之前在开发分布式系统中由于云服务器性能原因,导致系统总是断连等错误.但是 ...

  4. 性能测试之cpu的性能诊断

    一,CPU基本知识 测试中CPU诊断是重要的性能指标, CPU是代码打交道最多的硬件之一,要想一个CPU工作就需要提供一些指令和数据,一般放在内存中,其中指令一般都是由代码编译而来,数据也是代码中需用 ...

  5. plm服务器 硬件性能,如何对PLM系统进行性能诊断与调优?

    原标题:如何对PLM系统进行性能诊断与调优? PLM系统是企业最重要的信息系统之一,尤其对于研发人员,PLM系统更是日常工作中非常重要的一环.随着时间的推移,企业对PLM系统的相关应用越来越深入,一方 ...

  6. 3个坏代码导致的性能问题案例:CPU占用飙到了900%

    读过<重构 - 改善既有代码的设计>一书的同学们应该都很了解"代码的坏味道".当然确定什么是代码"坏味道"是主观的,它会随语言.开发人员和开发方法的 ...

  7. 性能计数器与profiler的组合性能诊断

    性能计数器和sql profiler都是常用的性能诊断工具和优化工具,最近和群友聊天发现很多人竟然不知道这两个可以"组合"使用,所以这篇算是一篇扫盲贴吧. 两种工具简述 通过计数器 ...

  8. 性能诊断利器 JProfiler 快速入门和最佳实践

    背景 性能诊断是软件工程师在日常工作中需要经常面对和解决的问题,在用户体验至上的今天,解决好应用的性能问题能带来非常大的收益.Java 作为最流行的编程语言之一,其应用性能诊断一直受到业界广泛关注.可 ...

  9. windows7内存诊断工具有用吗_性能诊断利器 JProfiler 快速入门和实践

    云栖君导读:性能诊断是软件工程师在日常工作中需要经常面对和解决的问题,在用户体验至上的今天,解决好应用的性能问题能带来非常大的收益.Java 作为最流行的编程语言之一,其应用性能诊断一直受到业界广泛关 ...

最新文章

  1. XSD详解二 - 简易元素、属性、内容限定
  2. python内存管理_Python内存管理(一):预备知识
  3. python的赋值与参数传递(python和linux切换)
  4. 广州市岑村教练场考科目二,惊险通过,经验总结
  5. oracle自定义函数获取省份,Oracle 自定义函数Function
  6. Beta Daily Scrum 第五天
  7. PC远程调试设备(转)
  8. Fresco几处不太好的地方
  9. ensp vlan 划分
  10. Northwind数据库下载地址
  11. PLSQL Developer多 表 查 询
  12. 计算机重新启动操作处于挂起状态,PHOTOSHOPCS5安装程序检测到计算机重新启动操作可能处于挂起状态...
  13. PG数据库按照30分钟时间片统计数据
  14. 高德地图坐标转平面坐标
  15. 二极管在LDO电路中的几种常见用法
  16. Word插入题注快捷键
  17. 数据结构——栈的应用
  18. 图片base64格式解析
  19. 计算机课演示文稿模板,计算机网络拓扑结构公开课PPT模板课件
  20. 鲁大师、360等难以卸载软件的卸载方法

热门文章

  1. 2021-07-14 深度学习基础与实践(二)
  2. linux之pmap命令查看进程的地址空间和占用的内存
  3. 安卓系统遥控器的映射具体过程相关文档
  4. 利用JS制作简易计算器
  5. DBC系列之使用CANdb++创建DBC(2)
  6. 【密码学基础】03 传统加密技术
  7. 裴波那契数列及其递归算法
  8. R语言使用lm函数构建多元回归模型(Multiple Linear Regression)、并根据模型系数写出回归方程、使用resid函数或者residuals计算出模型的残差值
  9. 编曲录音宿主软件-Cubase Elements 11 v11.0.30 WiN 元素版
  10. 【MFC】打砖块小游戏(下)(7)