Linux jstack分析cpu占用100%
背景:
运行测试程序后,top命令发现某个进程(pid)占用cpu达到100%。
查看哪个线程占用最多资源:
ps mp pid -o THREAD,tid,命令查看这个进程下面的所有线程占用情况。

发现线程324占用最多。
使用jstack进行跟踪:
jstack pid 进行查看输出到临时文件
jstack 324> test
将刚刚发现占用cpu最多的线程id(324)换算成16进制,324==》144
查看jstack 生成的文件:

下面可以看出是哪行代码导致,查看那行代码发现有死循环。跟踪解决完毕。
上面是查看cpu占用情况,举一反三,其他的相关资源分析方法应该是类似的。
这种查起问题来很有成就感,跟我们牛牛的开发学的一招以后大家也可以用起来~~~
后记:
测试关注的东西很多,点到面,再面到点,而开发们在技术上了解会的分析方法很多,我们在发现bug后不是直接丢给开发,fix后外围回归,而是向开发请教分析方法,得到“渔”,开发也很乐于教给我们,这样我们以后遇到类似问题就能直接进行分析,这样才能不断既提高充实自己,提高效率,并且会有很有成就感,这是一件非常快乐的事情。
from: http://testing.etao.com/node/615
Linux jstack分析cpu占用100%的更多相关文章
- linux下模拟CPU占用100%小程序
在做一个测试时,需要模拟服务器CPU占用满的情况,在查阅相关资料后,发现网上程序不太好用, 原文在这:http://www.2cto.com/os/201304/202068.html 优化后如下: ...
- w3wp.exe(IIS ) CPU 占用 100% 的常见原因及解决办法
对于IIS 管理员来说,经常会碰到 Web 服务器 CPU 占用 100% 的情况,以下是个人的日常工作总结和一些解决办法,主要用来剖析 w3wp.exe(IIS ) 占用 CPU 100% 的一些 ...
- magento 由于Httpd进程增多,导致CPU占用100%问题
由于Httpd进程增多,导致CPU占用100%问题 magento for version 2.2.3 前些天一直导致CPU无法控制的增多问题. 根据报错我设置了如下内容: [Mysql]mysql. ...
- VPS/云主机CPU占用100%故障排查
VPS/云主机CPU占用100%故障排查 方法/步骤 通常情况下云主机/VPS的CPU一般不会占用100%,内存资源也不会占完.若您的服务器经常CPU资源100%,可以打开任务管理器,查看是哪个进程引 ...
- mysql cpu 100% 满 优化方案 解决MySQL CPU占用100%的经验总结
下面是一些经验 供参考 解决MySQL CPU占用100%的经验总结 - karl_han的专栏 - CSDN博客 https://blog.csdn.net/karl_han/article/det ...
- 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记》[转]
转载地址:http://bbs.chinaunix.net/archiver/tid-1823500.html 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 ...
- Web API的CPU占用100%
我用Web API做了一个网站,网站很简单,请求就是几个普通的参数,提交到服务器后,在Web API里做一下参数验证,然后去访问Redis里的TIME命令,最后把TIME命令返回的结果计算出yyyy- ...
- paip.navicat form mysql导入文本文件时CPU占用100%的解决
paip.navicat form mysql导入文本文件时CPU占用100%的解决 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:h ...
- w3wp.exe(IIS ) CPU 占用 100% 的常见原因
引起 w3wp.exe(IIS ) Cpu 占用 100% 的常见原因如下: 1. Web 访问量大,从而服务器压力大而引起的 2. 动态页面(.aspx)的程序逻辑复杂程度 3. 页面程序中有死循环 ...
随机推荐
- 进程的处理器亲和性和 vCPU 的绑定(查看cpu信息,超线程等)
通常情况下,在 SMP 系统中,Linux 内核的进程调度器根据自有的调度策略将系统中的一个进程调度到某个 CPU 上执行.一个进程在前一个执行时间是在 cpuM(M 为系统中的某 CPU 的 ID) ...
- mac下两种很常见的button的xib设置
第一种,双变button.就是有两种状态的button:普通态和点击选中态. 第二种,点变button.有两种状态:普通态和mouseDown的态,mouseUp时同普通态.
- document对象和属性
文档对象:整个Html都属于document,他封装了大量的功能: docum的属性: document.title //设置文档标题等价于HTML的<title>标签 document. ...
- Ubuntu12.04下tomcat的安装与配置
1.下载tomcat 我的tomcat是从 http://tomcat.apache.org/download-70.cgi 这里下载的tar.gz版本的. 2.解压tomcat $sudo tar ...
- Logstash5.3借助临时字段修改@timestamp为北京时间,方便按天生成output文件
$more config/first-pipeline.conf input { beats { port => " } } filter { if [type] == "s ...
- 使用yum时出现的404
今天使用yum升级nss yum update nss 结果爆出错误: http://people.centos.org/tru/devtools-2/6Server/x86_64/RPMS/repo ...
- 全屏API接口
HTML5的诞生给我们提供了很多精彩的JavaScript和HTML新功能和新特征.有些新特征我们已知多年并大量的使用,而另外一些主要是用在前沿的手机移动技术上,或者桌面应用中起辅助作用.不管这些HT ...
- java并发编程()阻塞方法与中断方法
看完这篇,我感觉我对java多线程又懵逼了. 线程可能会阻塞或暂停执行,原因有多种: 等待I/O操作结束 等待获得一个锁 等待从Thread.sleep方法中醒来 等待另一个线程计算的结果 当线程阻塞 ...
- 如何在linux下实现mysql数据库每天自动备份
建备份文件夹: mkdir mysql_data_bak 建脚本文件: touch autobackupmysql.sh 打开文件 vi autobackupmysql.sh 在脚本中加入如下内容: ...
- Android-——多线程之Handler(转)
Android--多线程之Handler 原文地址:http://www.cnblogs.com/shirley-1019/p/3557800.html 前言 Android的消息传递机制是另外一种形 ...