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

时间: 2024-10-25 02:30:35

Linux jstack分析cpu占用100%的相关文章

linux下模拟CPU占用100%小程序

在做一个测试时,需要模拟服务器CPU占用满的情况,在查阅相关资料后,发现网上程序不太好用, 原文在这:http://www.2cto.com/os/201304/202068.html 优化后如下: #! /bin/sh # filename killcpu.sh if [ $# -ne 1 ] ; then echo "USAGE: $0 <CPUs>|stop" exit 1; fi stop() { while read LINE do kill -9 $LINE e

Java项目服务器cpu占用100%解决办法

服务器cpu占用100% 项目上线后运行一段时间,突然发现cpu 8个逻辑核心都占用100%,心情很紧张,然后就在网上找了一些解决方法,具体如下:        1.查找哪些进程在耗cpu         进入服务器,top 命令看一下,发现进程6633占用了800%        [[email protected] ~]# top        2.把进程的栈dump到文件里,以便后面的分析       [[email protected] ~]# jstack 23812 >> java

w3wp.exe(IIS ) CPU 占用 100% 的常见原因及解决办法

对于IIS 管理员来说,经常会碰到 Web 服务器 CPU 占用 100% 的情况,以下是个人的日常工作总结和一些解决办法,主要用来剖析 w3wp.exe(IIS )  占用 CPU 100% 的一些原因 和解决方案,希望能对你有所帮助 w3wp.exe的解释 : 全名,IIS Application Pool Process. w3wp.exe是IIS工具的一部.w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe

sql数据库cpu占用100问题查询

转载    原作者  xunziji SQL Server Cpu 100% 的情况并不太常见,一般引起 SQL Server 产生性能问题的,都是 阻塞.连接数.IO 磁盘等.所以,一般SQL Server 的使用率都是比较低的.但是,在有些情况下,还是会出现Cpu 100%的情况的. SQL Server 在做哪些操作的时候,会比较集中使用 CPU 资源呢?常见的主要如下: 常见的原因: 1. 编译和重编译 编译是 SQL Server 为指令生成执行计划的过程.SQL Server 要分析

mysql cpu 100% 满 优化方案 解决MySQL CPU占用100%的经验总结

下面是一些经验 供参考 解决MySQL CPU占用100%的经验总结 - karl_han的专栏 - CSDN博客 https://blog.csdn.net/karl_han/article/details/5630782 MySQL服务器 IO 100%的分析与优化方案 - hello_katty的专栏 - CSDN博客https://blog.csdn.net/hello_katty/article/details/83268370 MySQL服务器CPU跑满100%的情况分析 - qq_

Web API的CPU占用100%

我用Web API做了一个网站,网站很简单,请求就是几个普通的参数,提交到服务器后,在Web API里做一下参数验证,然后去访问Redis里的TIME命令,最后把TIME命令返回的结果计算出yyyy-MM-dd HH:mm:ss的形式,返回JSON格式.每秒请求数:1500次.CPU占用100%内存和IO都比较低. CPU:E5800 内存:4G+2G 硬盘:普通蓝盘500G各位,有人遇到过这样的情况吗? ---------------------------------------------

macos mail CPU占用100% 且内存不断增加的问题

macos mail CPU占用100% 且内存不断增加的问题 我的问题最终的解决方法似乎是把mail程序的日志清除一下就好了. 通过<活动监视器>查看到mail打开的文件中,有日志的目录: 进去查看发现有一个日志文件居然达到1.77GB,还有几个是几百MB的,删除所有日志文件. 之后重启mail后,发现mail运行就正常了.

解决YED画图CPU占用100%的问题

背景 公司很多项目都会用到YED包来画关联方的关联图,当某个公司的4度关联方个数过多以及关联关系太过复杂时,使用YED画图会造成CPU占用一直100%并且长时间占用不释放CPU资源.所以在使用YED画图的代码流程设计需要一些技巧来保证YED画图不会阻塞主线程,并且确保当图片长时间无法绘制成功时,需要有一种机制强制终止绘制,避免CPU资源长时间无意义的浪费. 解决方案思考 找出YED无法完成绘制的原因.从根本上解决. 如果无法从根本上解决至少需要解决长时间CPU100%占用. 尝试解决 首先尝试了

win10磁盘/cpu占用100%问题

https://www.zhihu.com/question/27664545 https://www.zhihu.com/question/27664545 微软自己的解决办法 https://support.microsoft.com/en-us/help/3083595/task-manager-might-show-100-disk-utilization-on-windows-10-devices-wit https://support.microsoft.com/zh-cn/help