Java性能监控

  上次介绍了如何使用jvisualvm监控java,今天做进一步讲解!Java性能监控主要关注CPU、内存和线程。

  在线程页中,点击线程Dump,可以生成threaddump日志,通过分析java thread dump日志,可以了解线程的执行状态,能发现锁死(Deadlock)、等待资源(Waiting on condition)、阻塞(Blocked)等问题;

  在监视页中,点击堆Dump,可以生成heapdump日志,通过第三方工具(如HeapAnalyzer)打开来分析内存泄露的大致位置,协助开发分析定位问题。

  在抽样器页中,点击CPU,来查看哪些方法占用的cpu比较高。

  有的时候也需要在linux下查看哪些线程占用的cpu资源高,方法如下:

  1、用top命令查找出哪个进程消耗的cpu高
21125 co_ad2   18   0 1817m 776m 9712S  3.3  4.9 12:03.24java                                                                                          
5284co_ad    21   0 3028m 2.5g 9432S  1.0 16.3  6629:44java                                                                                          
21994mysql    15   0 449m  88m 5072 S 1.0  0.6  67582:38mysqld                                                                                        
8657 co_sparr 19   0 2678m 892m 9220S  0.3  5.7 103:06.13 java
  2、top中shift+h查找出哪个线程消耗的cpu高
  先输入top,然后再按shift+h
21233 co_ad2   15   0 1807m 630m 9492S  1.3 4.0   0:05.12java                                                                                          
20503 co_ad2_s 15   0 1360m 560m 9176S  0.3 3.6   0:46.72java                                                                                          
21134 co_ad2   15   0 1807m 630m 9492S  0.3 4.0   0:00.72java                                                                                          
22673 co_ad2   15   0 1807m 630m 9492S  0.3 4.0   0:03.12 java
注意21233线程是属于21125进程
  3、jstack查找这个线程的信息
jstack [进程]|grep -A 10 [线程的16进制]
即:

  jastack 21125|grep -A 10 52f1  

Java性能监控的更多相关文章

  1. 关于 Java 性能监控您不知道的 5 件事,第 1 部分

    责怪糟糕的代码(或不良代码对象)并不能帮助您发现瓶颈,提高 Java? 应用程序速度,猜测也不能帮您解决.Ted Neward 引导您关注 Java 性能监控工具,从5 个技巧开始,使用Java 5 ...

  2. Linux下Java性能监控

    Linux下Java性能监控 一.JVM堆内存使用监控 获取thread dump的3种方法: 1)使用$JAVA_HOME/bin/jcosole中的MBean,到MBean>com.sun. ...

  3. JAVA性能监控与调优参考文档链接

    JAVA性能监控与调优参考文档链接 jdk8工具集 https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.htmlTroub ...

  4. java虚拟机(八)--java性能监控与故障处理工具

    问题定位: 除了个人经验,知识,工具也是很重要的,通过数据进行问题分析,包括:运行日志.异常堆栈.GC日志.线程快照(threaddump/javacore文件 ).堆转储快照(heapdump/hp ...

  5. Java性能监控之Instrumentation

    注:网上摘取的资料整理出来,供大家学习理解,希望有所帮助. 1.1.      Instrumentation 简介 利用 Java 代码,即 java.lang.instrument 做动态 Ins ...

  6. 整合 MyPerf4J 做Java性能监控和统计工具

    快速启动MyPerf4J MyPerf4J 采用 JavaAgent 配置方式,透明化接入应用,对应用代码完全没有侵入. 打包 项目地址: https://github.com/LinShunKang ...

  7. Java性能监控之Java程序执行解析

    大家好,最近接触javassist技术,研究过程中对Java程序执行过程进行了一系列探索,弄清楚了几个盲区(仅针对个人而言),现将经验与大家分享. 1.编码->.java 通常指写代码的过程,最 ...

  8. java性能监控常用命令

    jps -m -l:主要用来输出JVM中运行的进程状态信息 jstack -l pid 来观察锁持有情况 jsatck pid | grep pid(十六进制):输出进程pid的堆栈信息 jmap - ...

  9. Java性能监控之javassist探索

    https://www.cnblogs.com/orionhp/p/6362615.html ApplicationContext实现的默认行为就是在启动时将所有singleton bean提前进行实 ...

随机推荐

  1. The configuration section 'system.serviceModel' cannot be read because it is missing a section decla

    将Asp.Net 2.0的Web Site搭建在IIS7(7.5)上时,运行出现500.19错误, 错误提示为 The configuration section 'system.serviceMod ...

  2. Ora-03113\Ora-03114与Oracle In 拼接字符串的问题

    刚深入接触Oracle不久(大学里以及刚参加工作时学到的Oracle知识只能算是皮毛),因为之前使用SqlServer有将近两年的时间,对SqlServer相对来说很熟悉,比较而言,Oracle真心很 ...

  3. 实习小结(三)--- 权限管理(RBAC)

    这一周,大多数时间 用来做需求分析,细化每个页面需要实现的功能.由于这个项目需要四种身份登录查看,分别是学生,老师,领导,管理员.每个身份登入系统显示得页面都不相同,四个角色分析完成后,统计了一下页面 ...

  4. Spring中的BeanFactory和ApplicationContext的区别

    我用一个例子去测试BeanFactory和ApplicationContext的区别 首先建立一个bean public class User { //声明无参构造,打印一句话,监测对象创建时机 pu ...

  5. POJ P3667 Hotel——solution

    Description The cows are journeying north to Thunder Bay in Canada to gain cultural enrichment and e ...

  6. 关于 img 父容器比img图片要多4个像素的问题

    问题背景: <div> <img src="" /> </div> 图片和div 的宽度相同,div的高度等于图片的高度 结果发现div的高度 ...

  7. Java设计模式—桥梁模式

    终于又碰到了一个简单点的模式了. 桥梁模式也叫做桥接模式,定义如下:                将抽象和实现解耦,使得两者可以独立地变化. 这句话也太难理解了,桥梁模式是为了解决类继承的缺点而设计 ...

  8. GetModuleFileName和获取应用程序当前目录

    原文:http://www.cnblogs.com/xuemaxiongfeng/articles/2465544.html API函数GetModuleFileName():获得应用程序目录相对路径 ...

  9. RHEL生命周期管理 -- Should I stay, or should I go?

    1. RHEL的支持策略是怎么样的? 标准支持(一般7年)+ 延长支持(3年) 2. 升级RHEL的好处有哪些? More advantageous to upgrade completely to ...

  10. Azure 虚拟机上的 SQL Server 常见问题

    本主题提供有关运行 Azure 虚拟机中的 SQL Server 时出现的一些最常见问题的解答. 如果本文未解决你的 Azure 问题,请访问 MSDN 和 CSDN 上的 Azure 论坛. 你可以 ...