`

分析排查

 
阅读更多

除了Dtrace与Java技术的集成之外,Java SE 6发行中还包含了许多其它的可观察性工具。下面总结了这些工具,其中还包含一些更为详细的链接说明。 

(一) JConsole 

JConsole使用JVM的可扩展性Java管理扩展(JMX)工具来提供关于运行于Java平台的应用程序的性能和资源消耗的信息。 

在J2SE 5.0软件中,你需要启动使用-Dcom.sun.management.jmxremote选项监控的应用程序。注意:在Java SE 6软件中,不再有这一要求。当启动该应用程序时,不需要特定的命令行选项。 

在生产系统中的应用 

JConsole启动一个在被观察的Java程序的JVM内部的JMX代理。运行另外一部分代码仅有一点极微弱的影响-但是影响很小。 

另 外,尽管JConsole在监视本地应用程序的开发和快速原型开发中很有用,但在实际的应用系统中不推荐使用。理由是,JConsole本身也消耗大 量的系统资源。我们推荐的方法是用远程监控来把JConsole应用程序与被监控的系统加以隔离。因此,对于应用系统来说,以远程模式使用 JConsole更好些。对于安全的远程监控来说,可以使用安全选项。 

(二) jps 

jps相当于Solaris进程工具ps。更多的信息,请参考《jps-Java Virtual Machine Process Status Tool》。 

不 象"pgrep java"或"ps -ef grep java",jps并不使用应用程序名来查找JVM实例。因此,它查找所有的Java应用程序,包括即使没有使用java执行体的那种(例如,定制的启动 器)。另外,jps仅查找当前用户的Java进程,而不是当前系统中的所有进程。 

(三) jstat 

jstat 显示一个测量(instrumented)Java HotSpot虚拟机的性能统计信息(请参考《jstat-Java Virtual Machine Statistics Monitoring Tool》)。有关于性能计数器的更详细的信息请参考《Code sample-jvmstat 3.0》。 

(四) jstatd 

jstatd是一个Java远程方法调用 (RMI)服务器应用程序-它监控测量Java HotSpot虚拟机的创建和终止并且提供一个接口来允许远程监控工具依附到运行于本地主机的JVM(请参考《jstatd-Virtual Machine jstat Daemon》)。 

在应用系统中的使用 

jps及其它jvmstat实用程序都使用 极为轻量级的观察机制。由JVM分配一小部分共享内存,而性能计数器也是从这部分内存中分配的。JVM子系统基于其感兴趣的事件更新性能计数器。客户端工 具仅仅负责异步地从共享内存段中进行读取。因此,总的来说,使用jvmstat进行监控的效果是很小的。 Photoshop教程 数据结构 五笔输入法专题 
QQ病毒专题 共享上网专题 Google工具和服务专题 四、 Java SE 6平台中针对于Postmortem的可观察性工具 

Java SE 6支持postmortem可观察性工具-它能够从挂起的Java进程或Java核心复制中获得信息。这些工具(除了jhat外)都使用Solaris libproc库来依附到和读取被观察的程序。在观察期间,目标程序被挂起。当Java进程被挂起或当从一个Java进程中发生一个核心复制时,可以使用 这些工具。在任何可能的情况下,请考虑使用gcore来捕获系统的核心复制的一个快照并且使用任何下列工具"离线"分析核心复制。 

(一) jinfo 

jinfo打印一个给定的Java进程或核心文件或一个远程调试服务器的Java配置信息。配置信息包括Java系统属性和JVM命令行标志(更多信息,请参考《jinfo-Configuration Info》)。 

(二) jmap 

jmap:如果这个工具不使用任何选项(除了pid或core选项)运行,那么它显示类似于Solaris的pmap工具所输出的信息。这个工具支持针对Java堆可观察性的若干其它选项。 

在Java SE 6平台中,新加入了一个-dump选项。这样可以使jmap能够把Java堆信息复制到一个文件中,然后我们可以使用新的jhat命令(见下面一节)来分析它。 

jmap -dump选项并不使用Solaris libproc来实现实时处理;而是,它运行当前正运行的JVM中的一小段代码,由此来实现堆复制。既然这种堆复制代码运行于JVM内部,那么其速度是比 较快的。堆复制的效果大致相当于实现一次"完全的GC"(对整个堆的垃圾收集),再加上把该堆的内容写入到文件中。实现堆复制的另外一种可能的思路是使用 gcore来进行核心复制并且运行"jmap -dump"(这与以"离线"方式运行的核心复制形成对照)。 

(三) jstack 

jstack等价于Solaris的pstack工具。jstack打印所有的Java线程的堆栈跟踪信息(可选地包括本机帧信息),请参考《jstack-堆栈跟踪》。关于锁和死锁的信息也可以被打印,请参考java.util.concurrent locks。 

(四) jsadebugd 

jsadebugd依附到一个Java进程或核心文件并且担当一个调试服务器的作用。远程客户,例如jstack、jmap和jinfo,都能够通过Java RMI依附到该服务器。 

(五) jhat 

jhat 是一个Java堆复制浏览器。这个工具分析Java堆复制文件(例如,由上面的"jmap -dump"所产生的)。Jhat启动一个允许堆中的对象在web浏览器中进行分析的web服务器。这个工具并不是想用于应用系统中而是用于"离线"分 析。"jhat工具是平台独立的",其意思是,它可以被用来观察在任何平台上所产生的堆复制。例如,我们有可能在Linux系统上使用jhat来观察一个 在Solaris OS上所产生的堆复制。 

把本机的java内存映像导出到heap.dmp中,其中PID为java进程的ID号。 
jmap -dump:live,format=b,file=heap.dmp PID 

导出后的映像文件可以用jhat来进行分析,-J是向java虚拟机传一个参数,如-mx768m是指定虚拟机可用最大的内存为768M。如果映像文件很大,你要指定一个很大的值,否则在分析过程中就会有OutOfMemeryError的错误。 
jhat -J-mx768m -port <端口号:默认为7000> heap.dmp

分享到:
评论

相关推荐

    配网自动化异常分析排查的研究.pdf

    在配电网络自动化系统中,异常分析排查是一个复杂而关键的过程,涉及多个环节和专业知识。本文分析了配网自动化系统中的异常现象,并对这些异常进行了分类,提供了针对异常现象的分析要点和排查步骤,旨在为基层班组...

    交换机常见的故障类型及分析排查方法

    以下将详细阐述交换机常见故障类型及其分析排查方法。 1. **电源故障**: 电源问题是最基础的故障类型,包括电源供应不稳定、电源线路老化、电源损坏或风扇停转。交换机的电源状态通常通过电源指示灯显示,绿色...

    Linux主机日志分析排查脚本,定制化在主机中执行命令_HScan.zip

    Linux主机日志分析排查脚本,定制化在主机中执行命令_HScan

    Java线上故障排查方案(2).pdf

    1. 业务日志分析排查,这是最基础也是最直接的手段,通过分析日志文件,工程师可以迅速找到异常发生的位置和原因。例如,通过分析一个抛出ArrayIndexOutOfBoundsException异常的日志,可以确定出错的代码行数以及...

    工业以太网交换机常见的几种故障类型及分析排查方法.docx

    总的来说,工业以太网交换机的故障排查需要结合硬件和软件两方面,通过对故障现象的分析,定位问题源头,采取相应的解决策略。同时,预防性的维护,如定期检查、更新固件、优化配置,可以大大降低故障发生的可能性,...

    通信与网络中的交换机常见的故障类型及分析排查方法

    为此,本文就交换机常出现的故障类型及分析排查的方法进行简要的介绍。  电源故障  由于外部供电不稳定,电源线路老化或者雷击等原因导致电源损坏或者风扇停转,以致不能正常工作。或者由于电源缘故导致机内其他...

    单位隐患排查统计分析报告文案.doc

    其次,报告提出生产经营单位应定期进行安全隐患自查自报,汇总分析排查治理情况,并按月上报至相关部门,对于重大隐患需及时上报。同时,要完善隐患排查治理监管制度和自查自报标准体系,实现隐患的全过程闭环管理,...

    4.现场类安全隐患排查表.docx

    7. **评估排查结果**:综合分析排查记录,判断是否存在安全隐患及其严重程度。 8. **采取整改措施**:对于发现的安全隐患,及时采取有效措施进行整改,消除安全隐患。 9. **复查验证**:整改完成后进行复查,确认...

    公共安全隐患排查工作总结.pptx

    - **整理分析排查结果**:汇总排查数据,对发现的问题进行分类整理与分析。 - **制定整改措施**:针对发现的安全隐患,制定具体的整改措施。 - **跟踪整改落实情况**:对整改措施的执行情况进行跟踪监督,确保问题...

    揭秘LED常用的几大连接方式及故障排查

    若LED连接系统比较复杂,需结合电路图和系统工作原理,通过综合分析排查故障所在。例如,先检查电源是否正常,再检查驱动电路,最后确定是哪个LED出现故障。 总而言之,LED连接方式的选择需要综合考虑多种因素,...

    PLC电路故障排查分析.pdf

    然而,PLC控制系统在运行过程中不可避免地会出现各种故障,这时候就需要我们通过故障排查分析的方法来解决问题。以下是对PLC电路故障排查分析的详细知识点梳理: 首先,从故障排查的角度,我们可以采用以下几种方法...

    专题讲座资料(2021-2022年)关于开展消防安全大排查大整治工作汇报及汇报.doc

    活动结束后,进行总结汇报,分析排查整治的效果,总结经验教训,以便在未来的工作中持续改进和完善。各地区应根据上级要求,成立领导小组,制定实施方案,确保活动的全面展开和有效执行。 总的来说,消防安全大排查...

    PLC故障分析与排查.pdf

    PLC故障分析与排查pdf,以三菱FX系列型号PLC为例,结合高级维修电工PLC维修排故技能,介绍了通过对PLC外围设备动作情况,结合PLC动作面板LED的分析,排除PLC及其外围设备相关电气故障的方法。

    LTE干扰分析与排查

    LTE干扰分析与排查,简易教程,便于网优工程师学习

    XX公司事故隐患排查治理情况分析报告.pdf

    XX公司事故隐患排查治理情况分析报告.pdf

    CAN总线故障诊断与解决(专家版)V001.pdf

    - 排查步骤4:波形FFT分析排查干扰导致的通讯异常。通过频谱分析,可以识别和解决因电磁干扰等问题引起的通讯异常。 - 排查步骤5:信号幅值质量排查长距离或非规范线缆导致异常。此步骤重点在于检查信号的幅值是否...

    5G干扰分析与排查指导手册.pdf

    5G干扰分析与排查指导手册.pdf

    根叔的云图-网络故障大排查全套文档

    iMC BIMS组件问题分析.pdf iMC双机冷备方案故障排查.pdf WSM资源管理故障排查.pdf 桌面资产管理故障排查.pdf PLAT iMC APM 数据库管理故障排查.pdf iMC Dbman备份故障排查.pdf iMC license故障排查.pdf ...

Global site tag (gtag.js) - Google Analytics