性能诊断定位之CPU问题排查(一):win10环境1
目录
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. 环境工具 2. jstat查看堆内存整体使用情况 3. jmap查看堆内存使用详情 4. jmap去dump对象详情 1. 环境工具 CentOS7,安装Java 2. jstat查看堆内 ...
- 通过Visual Studio诊断工具定位软件CPU瓶颈
通过VS诊断工具定位软件CPU瓶颈 前情提示:正常情况下我们使用调试模式会看不到诊断工具窗口,控制台会报"无法启动标准收集器.请尝试修复 Visual Studio 的安装. (HRESUL ...
- Linux CPU性能优化 —— CPU使用率及高CPU使用率排查
文章目录 CPU使用率的定义 查看CPU使用率:top和pidstat 排查高CPU使用率:pref 参考文献 写在前面: 由于之前在开发分布式系统中由于云服务器性能原因,导致系统总是断连等错误.但是 ...
- 性能测试之cpu的性能诊断
一,CPU基本知识 测试中CPU诊断是重要的性能指标, CPU是代码打交道最多的硬件之一,要想一个CPU工作就需要提供一些指令和数据,一般放在内存中,其中指令一般都是由代码编译而来,数据也是代码中需用 ...
- plm服务器 硬件性能,如何对PLM系统进行性能诊断与调优?
原标题:如何对PLM系统进行性能诊断与调优? PLM系统是企业最重要的信息系统之一,尤其对于研发人员,PLM系统更是日常工作中非常重要的一环.随着时间的推移,企业对PLM系统的相关应用越来越深入,一方 ...
- 3个坏代码导致的性能问题案例:CPU占用飙到了900%
读过<重构 - 改善既有代码的设计>一书的同学们应该都很了解"代码的坏味道".当然确定什么是代码"坏味道"是主观的,它会随语言.开发人员和开发方法的 ...
- 性能计数器与profiler的组合性能诊断
性能计数器和sql profiler都是常用的性能诊断工具和优化工具,最近和群友聊天发现很多人竟然不知道这两个可以"组合"使用,所以这篇算是一篇扫盲贴吧. 两种工具简述 通过计数器 ...
- 性能诊断利器 JProfiler 快速入门和最佳实践
背景 性能诊断是软件工程师在日常工作中需要经常面对和解决的问题,在用户体验至上的今天,解决好应用的性能问题能带来非常大的收益.Java 作为最流行的编程语言之一,其应用性能诊断一直受到业界广泛关注.可 ...
- windows7内存诊断工具有用吗_性能诊断利器 JProfiler 快速入门和实践
云栖君导读:性能诊断是软件工程师在日常工作中需要经常面对和解决的问题,在用户体验至上的今天,解决好应用的性能问题能带来非常大的收益.Java 作为最流行的编程语言之一,其应用性能诊断一直受到业界广泛关 ...
最新文章
- XSD详解二 - 简易元素、属性、内容限定
- python内存管理_Python内存管理(一):预备知识
- python的赋值与参数传递(python和linux切换)
- 广州市岑村教练场考科目二,惊险通过,经验总结
- oracle自定义函数获取省份,Oracle 自定义函数Function
- Beta Daily Scrum 第五天
- PC远程调试设备(转)
- Fresco几处不太好的地方
- ensp vlan 划分
- Northwind数据库下载地址
- PLSQL Developer多 表 查 询
- 计算机重新启动操作处于挂起状态,PHOTOSHOPCS5安装程序检测到计算机重新启动操作可能处于挂起状态...
- PG数据库按照30分钟时间片统计数据
- 高德地图坐标转平面坐标
- 二极管在LDO电路中的几种常见用法
- Word插入题注快捷键
- 数据结构——栈的应用
- 图片base64格式解析
- 计算机课演示文稿模板,计算机网络拓扑结构公开课PPT模板课件
- 鲁大师、360等难以卸载软件的卸载方法
热门文章
- 2021-07-14 深度学习基础与实践(二)
- linux之pmap命令查看进程的地址空间和占用的内存
- 安卓系统遥控器的映射具体过程相关文档
- 利用JS制作简易计算器
- DBC系列之使用CANdb++创建DBC(2)
- 【密码学基础】03 传统加密技术
- 裴波那契数列及其递归算法
- R语言使用lm函数构建多元回归模型(Multiple Linear Regression)、并根据模型系数写出回归方程、使用resid函数或者residuals计算出模型的残差值
- 编曲录音宿主软件-Cubase Elements 11 v11.0.30 WiN 元素版
- 【MFC】打砖块小游戏(下)(7)