windows下揪出java程序占用cpu很高的线程
背景
天天搞java,这些监控也都知道,用过,但也没往细里追究。因为也没碰见这种问题,这次还是静下来走一遍流程吧。与网上基本一致,不过我区分了下linux和windows的不一样。我感觉基本是程序写成死循环了或者大对象分配多了才有这种问题吧。
步骤
1.找到java进程对应的pid。通过任务管理器。linux---top
2.然后把java进程导出快照。直接运行命令。stack -l 31372 > c:/31372.stack
3.在windows下只能查看进程的cpu占用率,要查看线程的cpu占用率要借助其他的工具,我这里用的是微软提供的 Process Explorer v15.3
右键点击需要查看的进程---properties
linux下先输入top,然后再按shift+h 或“H”,此时打开的是线程视图,pid为线程号
4.然后选择 Threads 选项卡,找到占用cpu的线程的tid,比如我这里是 31876 的线程
5.把pid转换成16进制,我这里直接用系统自带的计算器转换,置于为什么要转换,是因为先前用jstack导出的信息里面线程对应的tid是16进制的。
cmd---calc---计算器左上角选择程序员,可进制转换 。最后得到的线程pid的16进制的值为 7C84
6.在 c盘的31372.stack文件中查找 7C84
Thread-23" prio=6 tid=0x03072400 nid=0x1b68 runnable [0x0372f000]
java.lang.Thread.State: RUNNABLE
at com.horn.util.MyEncrypt.encode(MyEncrypt.java:17)
at com.horn.common.OrderUtil.hisExp(OrderUtil.java:228)
at com.horn.util.MsgManage.receiveMsg(MsgManage.java:961)
at com.horn.util.PollMessageThread.run(PollMessageThread.java:74)
Locked ownable synchronizers: - None
windows下揪出java程序占用cpu很高的线程的更多相关文章
- windows下揪出java程序占用cpu很高的线程 并找到问题代码 死循环线程代码
我的一个java程序偶尔会出现cpu占用很高的情况 一直不知道什么原因 今天终于抽时间解决了 系统是win2003 jvisualvm 和 jconsole貌似都只能看到总共占用的cpu 看不到每个线 ...
- Linux排查Java程序占用CPU很高的解决办法
Java的工具集相当强大,学习成本也很低,处理线上问题时,jstack这个工具就比微软的windbg,好学好用很多,3步找出占用CPU很高的源所在.而windbg反人类的各种命令,实在不敢恭维. 故意 ...
- Linux排查java程序占用cpu过高的线程代码
分几步骤: 1.通过top,查出占用CPU过高的java进程 ,比如: pid :6666 2.通过ps -mp 6666 -o THREAD,tid,time| sort -n -k1 -r 查看此 ...
- 服务器CPU又爆了?Linux快速排查Java程序占用CPU很高的方法
这个问题可以说是 Java 面试的高频面试题了,有很多面试官都喜欢问这个问题,问题可能是下面这样的. 线上一台服务器 CPU 使用率100% 了,如果你碰到这样的情况,如何排查并找到问题原因? 1.场 ...
- 线上Java程序占用 CPU 过高,请说一下排查方法?
我是风筝,公众号「古时的风筝」,一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农! 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在 ...
- Windows服务器java.exe占用CPU过高问题分析及解决
最近在测试一个用java语言实现的数据采集接口时发现,接口一旦运行起来,CPU利用率瞬间飙升到85%-95%,一旦停止就恢复到40%以下,这让我不得不面对以前从未关注过的程序性能问题. 在硬着头皮查找 ...
- 如何定位占用cpu过高的线程
如何定位占用cpu过高的线程 近来发现平台应用响应越来越慢,通过top命令发现,cpu占用率越来越高 1. 首先根据top命令,发现占用cpu最高的进程PID:3075. 通过ps aux | gre ...
- linux下分析java程序占用CPU、内存过高
一.CPU过高分析 1)使用TOP命令查看CPU.内存使用状态可以发现CPU占用主要分为两部分,一部分为系统内核空间占用CPU百分比,一部分为用户空间占用CPU百分比.其中CPU状态中标示id的为空闲 ...
- 记一次java程序占用cpu超高排查
1.首先通过top命令查看占用cpu过高的pid #top top - 18:07:25 up 48 days, 1:07, 3 users, load average: 11.94, 11.9 ...
随机推荐
- spring boot @Value Could not resolve placeholder
@Configuration public class PropertySourcePlaceholderConfig { @Bean public PropertySourcesPlaceholde ...
- HDU 1014(互质数 **)
题意是说从 0 开始每次增加 STEP,然后模 MOD 得到一些数,问是否能得到从 0 到 MOD - 1 的所有数. 只要 STEP 与 MOD 互质就可以满足条件,也就是二者的最大公因数为 1 即 ...
- Part-Ten
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
- Linux命令(十四)gdb调试
1. gdb调试 fun.c #include <stdio.h> #include "head.h" int sum(int a, int b) { printf(& ...
- mysql表基本查询
第一节 -- or # 单行注释/***多行注释*/ -- c创建数据库examCREATE DATABASE exam; USE exam; /*创建部门表*/CREATE TABLE dept( ...
- windows server 2008r2x64 安全配置
管理工具--本地安全策略 1.帐户策略--密码策略 密码长度最小值:8 强制密码历史:1 2.本地安全策略--安全选项 交互式登录:不显示最后的用户名:已启用
- Photoshop影像匀色技术
本篇博文简单介绍一下利用PhotoShop对影像数据进行匀色的相关技术 影像一般有img和tif两种各种.一般的影像如果在PS中打开,会丢失坐标信息.在做匀色处理中,普通的做法是,先将坐标信息导出来, ...
- vue 用checkbox 做多选,带选中样式
<dl v-for="(item,index) in listData" :key="index"> testName <label> ...
- clam安装
nodejs下,npm安装clam指令: npm install -g clam
- [C++]PAT乙级1011. A+B和C (15/15)
/* 1011. A+B和C (15) 给定区间[-2^31, 2^31]内的3个整数A.B和C,请判断A+B是否大于C. 输入格式: 输入第1行给出正整数T(<=10),是测试用例的个数.随后 ...