Linux下JAVA线程占用CPU高的分析方法
2019独角兽企业重金招聘Python工程师标准>>>
上次分析系统中占用CPU高的问题,得到一些使用Java自身调试工具的经验,与大家分享。
(1)使用top命令找出占用cpu最高的JAVA进程PID:28174
(2)如下命令找出占用cpu最高的线程
- top -Hp 28174 -d 1 -n 1
- 32694 root 20 0 3249m 2.0g 11m S 2 6.4 3:31.12 java
- 28175 root 20 0 3249m 2.0g 11m S 0 6.4 0:00.06 java
- 28176 root 20 0 3249m 2.0g 11m S 0 6.4 1:40.79 java
- 28177 root 20 0 3249m 2.0g 11m S 0 6.4 1:41.12 java
- 28178 root 20 0 3249m 2.0g 11m S 0 6.4 1:41.11 java
- 28179 root 20 0 3249m 2.0g 11m S 0 6.4 1:41.33 java
- 28180 root 20 0 3249m 2.0g 11m S 0 6.4 1:41.58 java
- 28181 root 20 0 3249m 2.0g 11m S 0 6.4 1:40.36 java
- 28182 root 20 0 3249m 2.0g 11m S 0 6.4 1:41.02 java
- 28183 root 20 0 3249m 2.0g 11m S 0 6.4 1:40.96 java
- 28184 root 20 0 3249m 2.0g 11m S 0 6.4 4:38.30 java
- 28185 root 20 0 3249m 2.0g 11m S 0 6.4 0:00.46 java
- 28186 root 20 0 3249m 2.0g 11m S 0 6.4 0:01.83 java
- 28187 root 20 0 3249m 2.0g 11m S 0 6.4 0:00.00 java
- 28189 root 20 0 3249m 2.0g 11m S 0 6.4 0:00.01 java
- 28190 root 20 0 3249m 2.0g 11m S 0 6.4 0:49.01 java
(3)打印占CPU最高JAVA进程28174的堆栈信息
- /usr/java/jdk1.6.0_21/bin/jstack 28174 > /root/mss/41-100javathreaddump.txt
(4)占CPU最高线程32694换算成16进制到文档中寻找对应线程 7fb6
- "MSXMLProcessorThread" prio=10 tid=0x00002b469923a800 [color=darkred]nid=0x7fb6[/color] sleeping[0x00002b46b0200000]
- java.lang.Thread.State: TIMED_WAITING (sleeping)
- at java.lang.Thread.sleep(Native Method)
- at com.adventnet.management.xml.MSXmlProcessor.listen(MSXmlProcessor.java:279)
- at com.adventnet.management.xml.MSXmlProcessor.run(MSXmlProcessor.java:264)
- at java.lang.Thread.run(Thread.java:619)
以上过程手工进行,虽然不如Jprofiler和java自带的可视化工具那么直观,但是能够解决问题!尤其是在不能使用远程调试工具的时候,能够提供最大的帮助。
转载于:https://my.oschina.net/henrydong/blog/164532
Linux下JAVA线程占用CPU高的分析方法相关推荐
- Linux下排查进程占用cpu高的问题
相信很多C++程序员都经历程序占用cpu过高的问题,这种问题,如果对代码运行逻辑足够熟悉,只靠脑子想估计定位起来也不难,但是如果是调用第三方sdk,或者团队其他人开发的库导致的cpu占用居高,就不那么 ...
- linux下java进程占用高问题分析过程
2019独角兽企业重金招聘Python工程师标准>>> 1.用top命令找出占用cpu高的进程,记录下pid 2.用top -H -p pid(上面的pid)查看该进和下各线程占用c ...
- Win10 NVIDIA Container占用CPU高的处理方法
打开任务管理器,发现 NVIDIA Container 占用CPU非常高(36.6%). 2 Windows 10系统 NVIDIA Container占用CPU高的处理方法 在任务管理器窗口中,先展 ...
- weblogic占用java_weblogic下java程序占用cpu过高的问题排查
1.cpu使用情况如图: 2.执行命令 :jstack 126624 > cpu1112.log (注意执行此命令时的用户需为执行进程的用户,所以此处需要用weblogic用户) 若执行此命 ...
- weblogic下java程序占用cpu过高的问题排查
1.cpu使用情况如图: 2.执行命令 :jstack 126624 > cpu1112.log (注意执行此命令时的用户需为执行进程的用户,所以此处需要用weblogic用户) 若执行此命 ...
- Java进程占用CPU资源过多分析
问题描述: 生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高. 问题分析: 1,程序属于CPU密集型,和开发沟通 ...
- java.exe占用cpu高_Java进程cpu占用过高问题解决
cpu是时分(time division)的,操作系统里有很多线程,每个线程的运行时间由cpu决定,cpu会分给每个线程一个时间片,时间片是一个很短的时间长度,如果在时间片内,线程一直占有,则是100 ...
- Java内存占用过高问题分析
这里我们创建一个springboot项目, 然后随便写一个contoller, 在这个controller中定义一个List集合, 然后再初始化的时候让集合中10万个字符串, 然后部署并启动项目(这里 ...
- android systemserver 占用cpu 高,关于system/bin/mediaserver占用CPU高的 解决方法
啰嗦一堆 最近接触到相机功能,需要拿到相机的预览数据做后续处理,刚开始使用没发现什么大问题,后来才发现midiaserver居然占了我25%的CPU,这还得了,于是赶紧百度...卧槽,,,,没有,谷歌 ...
最新文章
- ios键盘done中文_关于IOS键盘的一些调用心得与坑
- PyTorch笔记: GPU上训练的模型加载到CPU/错误处理Attempting to deserialize object on a CUDA device but torch.cuda.is_a
- 成功解决ModuleNotFoundError: No module named 'torch.utils.tensorboard'
- Extjs 更换主题(转载)
- main函数的参数argc和argv
- 高仿真的类-页面交互
- SVM实战:如何进行乳腺癌检测
- 代码的坏味道之一——译自《重构》
- [2013.9.30]c#取三种时间
- Java面向对象--instanceof关键字
- [Vue] : vue-resource 实现 get, post, jsonp请求
- 沙巴克服务器占用,传奇私服服务端里最完整的攻沙传送教程,直接飞皇宫和影之道方法...
- buildroot patch 补丁文件使用方法
- 微信小程序 tab点击切换(不滑动)
- 领猫SCM完成近亿元A轮融资,服装供应链SaaS赛道前景几何?
- 苹果cms插件_苹果cms v10 站群插件修复版
- QLabel setText 标红 加粗
- c语言用星号输出大写字母H,如何在C语言中用星号或自定义字符打印方形图案
- HTML网页设计: 一 HTML的基本结构
- chrome浏览器 快捷键设置
热门文章
- 即使对象属性显示在控制台日志中,也无法访问
- JSF,Servlet和JSP有什么区别?
- Gradle中的实现和编译之间有什么区别?
- Win11推送如何操作 Windows11推送的详细步骤方法
- Java代码TkMyBatis通用Mapper中新增数据时同时获取自增主键ID,与适用uuid 做主键时获取 id
- python 分布式存储_Amazon S3 分布式存储的 python 接口实现
- python服务端编程_Python实现的简单文件传输服务器和客户端
- Git:切换分支时,无法切换到分支
- (转)MTK_面试的几个主要问题 必看
- itextpdf添加表格元素_基操勿6第四期:PPT表格美化