`

统计最耗CPU的java线程

    博客分类:
  • JAVA
 
阅读更多

上一篇帖子说了如何dump最耗CPU的java线程,那么可以借助这个来做下统计,统计谁是做耗CPU的java线程


这里统计有几个假设前提

1:假设耗CPU的线程都是在线程池中new出来的

2:假设系统load经常很高而不是瞬间状态

3:假设线程经常处于繁忙状态而不能被线程池收回

4:假设问题的发生是常事

 

好了上监控脚本

 

while true
  do
     top -b -H -n 1 -p $1 | fgrep java -m 3 >> /tmp/nid2.log 2>&1
  sleep 1
done

 好了上统计脚本

 

 

cat nid2.log | awk '{a[$1]++} END{for(i in a){print i,a[i]}}' | sort -k 2 -n -r

 

统计出了最耗时的java线程以后,就可以用jstack或者kill -3 查看具体的线程上下文了。

分享到:
评论

相关推荐

    获取当前所有进程线程Cpu占用率.rar

    可以查看当前系统运行的各进程cpu占用率 可以选择一个进程,查询里面各线程cpu占用率。...获取两次统计间隔的cpu时间,除以间隔时间。得到占用率 用途:查看自己写的程序那个线程运行时间最多,耗资源等。

    Linux中使用Shell脚本查看Java线程的CPU使用情况

    主要介绍了Linux中使用Shell脚本查看Java线程的CPU使用情况,需要的朋友可以参考下

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    windows下查看线程的cpu占用率工具 procexp

    在windows系统下,默认只能够查看进程的使用情况而不能查看线程的详细信息,使用此工具能够查看所有的线程的详细信息

    Java 2实用教程(第三版)实验指导与习题解答

    实验2 统计英文单词字 53 实验2 读取Zip文件 56 上机实践10 Java 中的网络编程 57 实验1 读取服务器端文件 57 实验2 使用套接字读取服务器端对象 59 实验3 基于UDP的图像传输 62 上机实践11 数据结构 66 实验1 扫雷...

    jstack生成的Thread Dump日志.docx

    Moniter 是Java中用以实现线程之间的互斥与协作的主要手段,它可以看成是对象或者class的锁,每个对象都有,也仅有一个 Monitor。 从上图可以看出,每个Monitor在某个时刻只能被一个线程拥有,该线程就是 "Active...

    积分java源码-perfstats-lib:用于收集和公开方法性能统计数据的简约库

    不是分析器,不是通用监控软件(即无内存、JVM、CPU 等统计信息),是将数据存储到数据库、监控多个 JVM 的全功能性能监控解决方案。 何时使用 如果您需要收集生产代码中(少数)已知方法的性能统计信息(即使用分析...

    javabitset源码-Study:学习

    CPU 多级缓存 进程 线程 协程 Linux 设计模式 设计模式的六大原则 23种常见设计模式 应用场景 单例模式 责任链模式 MVC IOC AOP UML 微服务思想 康威定律 运维 & 统计 & 技术支持 常规监控 APM 统计分析

    Java应用日志框架TNT4J.zip

    TNT4J是一个改进Log4J新的开源Java应用日志框架。用于应用程序活动的跟踪、相关性检查、诊断,可以跨多个应用程序,运行时,服务器,地理的位置。这个API是专门用以解决分布式,并发,多线程,多用户应用,包括活动...

    java实战开发1200例源码-Distributed-Translation-Infrastructure:分布式统计机器翻译基础设施,包括

    java实战开发1200例源码分布式翻译基础设施 作者: 项目页面: 介绍 该项目包含一个基于分布式短语的统计机器翻译基础设施,包括负载平衡、文本预处理/后处理和翻译服务。 该软件主要用C++ 11编写,遵循基于over的...

    javaOA办公系统模块设计方案.pdf

    javaOA办公系统模块设计⽅案 1.模型管理 :web在线流程设计器、预览流程xml、导出xml、部署流程 2.流程管理 :导⼊导出流程资源⽂件、查看流程图、根据流程实例反射出流程模型、激活挂起 、⾃由跳转 3.运⾏中流程:...

    结巴分词(支持词性标注)

    统计结果:词典加载时间1.8s左右,分词效率每秒2Mb多,近100万词。 2 Processor Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz 12G 测试效果 time elapsed:19597, rate:3140.428063kb/s, words:1158340.52/s time ...

    CloudLabEurecom-MapReduce

    降低故障成本(好)对于一般情况:#Reducers可以并行执行取决于#CPU,#Cores在集群中,也取决于#unique_key传递给reducers #Tasks run in每个 CPU 并行 = #Cores * #HW-threads per core(例如超线程) 使用 ...

    c#源码转java源码的-flecs:适用于C和C++的快速实体组件系统(ECS)

    c#原始码转Java原始码的 Flecs是一个快速,轻量级的实体组件系统,专注于高性能游戏开发和可用性()。 该框架的重点是: C99核心,现代C ++ 11 API,不依赖STL类型 可直接访问组件数组的批量迭代 SoA / Archetype...

    inspectit-ocelot:inspectIT Ocelot-用于收集应用程序性能,跟踪和行为数据的Java代理

    检查IT Ocelot 是一种零配置Java代理,用于基于动态收集应用程序性能,跟踪和行为数据。 尽管具有零配置功能,但它提供了强大的配置功能,可以对所有功能进行全面而深入的定制。... 垃圾收集(暂停时间和收集统计信

    IDEA工具jprofiler插件(JVM分析利器)

    JProfiler是一个重量级的JVM监控工具,提供对JVM精确监控,其中堆遍历、CPU剖析、线程剖析看成定位当前系统瓶颈的得力工具。可以统计压测过程中JVM的监控数据,定位性能问题。

    软件设计师重点考点

    9.2 Java多线程机制 295 9.3 流式输入输出与文件处理 295 9.3.1 Java输入输出类库继承关系 296 9.3.2基于标准输入输出的IO操作 296 9.3.3文件读写及随机访问 297 9.3.4Java的文件管理 297 9.4 Java网络通信 297 ...

    jconsole源码

    jconsole – jconsole是基于Java Management Extensions (JMX)的实时图形化监测工具,这个工具利用了内建到JVM里面的JMX指令来提供实时的性能和资源的监控,包括了Java程序的内存使用,Heap size, 线程的状态,类的...

Global site tag (gtag.js) - Google Analytics