一、总体介绍
二、命令行工具
1、jps
类似于ps,列出正在运行的虚拟机进程。显示如下内容:虚拟机执行主类、LVMID(非常重要,其他命令都
需要输入该id)
需要输入该id)
命令格式:
jps[ options]
VMID = [protocol:][//] lvmid[@ hostname[: port]/ servername]
查询实例:
2、jstat
可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。是定位虚拟机问题的首选 工具
命令格式:
jstat[ option vmid[ interval[ s| ms][ count]]]
重点介绍下 -gc: 该命令可以查看虚拟机的核心部件:垃圾收集的情况(内存占用、gc时间...)
S0C:年轻代中第一个survivor(幸存区)的容量 (字节)S1C:年轻代中第二个survivor(幸存区)的容量 (字节)
S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
EC:年轻代中Eden(伊甸园)的容量 (字节)
EU:年轻代中Eden(伊甸园)目前已使用空间 (字节)
OC:Old代的容量 (字节)
OU:Old代目前已使用空间 (字节)
PC:Perm(持久代)的容量 (字节)
PU:Perm(持久代)目前已使用空间 (字节)
YGC:从应用程序启动到采样时年轻代中gc次数
YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
FGC:从应用程序启动到采样时old代(全gc)gc次数
FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT:从应用程序启动到采样时gc用的总时间(s)
3、jinfo
实时地查看和调整虚拟机各项参数
命令格式:
jinfo[ option] pid
查询实例:
4、jmap
用于生成堆转储快照
命令格式:
jmap[ option] vmid
查询实例:
5、jstack
生成虚拟机当前时刻的线程快照
命令格式:
jstack[ option] vmid
查询实例:
三、可视化工具
VisualVM
可视化工具完成的功能与上述java命令差不多,就是更加直观.
插件中心地址:http://visualvm.java.net/pluginscenters.html
插件中心地址:http://visualvm.java.net/pluginscenters.html
通过几张截图了解下功能:
四、第三方工具
1、btrace
Btrace是由sundararajan在开发的一个开源项目,始创于2009年6月,是一种动态跟踪分析一个运行中的Java应用程序的工具。
2、greys-anatomy
greys-anatomy是btrace的扩展工具,对常用的功能进行的封装。而且提供交互式命令行界面完成相应的操作。
安装:curl -sLk http://ompc.oss.aliyuncs.com/greys/install.sh|ksh
安装:curl -sLk http://ompc.oss.aliyuncs.com/greys/install.sh|ksh
使用步骤:
第一步:启动greys,进入命令行界面
第二步:执行跟踪注入命令,即可获取正在运行方法的各种信息
举例:数据门户首页Index类完成后,输出context中的empId
第三步:ctrl +D后继续输入其他监控命令
功能:
monitor: 对匹配的方法调用进行监控
profiler:对正则匹配的方法进行埋点监控。统计整个调用链路上的性能开销
watch:观察匹配方法的内存对象
入参、返回值、异常、当前对象
tt: 拥有时间维度的watch命令
jstack:查看某个方法的调用链路
这里只是列举了部分功能,详细介绍文档:https://github.com/oldmanpushcart/greys-anatomy/wiki/Commands#monitor
相关推荐
常见的Java性能分析工具有JProfiler、VisualVM、YourKit Java Profiler等。这些工具提供了深入的性能指标,如CPU使用率、内存分配、线程状态等,帮助开发者诊断和优化代码。 例如,JProfiler提供了丰富的可视化界面...
Java Flight Recorder是一个强大的性能分析工具,可以帮助开发者深入理解Java应用程序的行为。通过本文的介绍,读者应该能够了解JFR的主要功能、使用方法以及如何与JMC结合进行有效的性能分析。 Java Flight ...
JavaCore分析工具是一种在Java应用程序出现问题时,...总之,JavaCore分析工具是Java开发和运维过程中不可或缺的诊断工具,它能够帮助开发者深入理解JVM内部工作原理,有效地解决性能问题,保障Web应用程序的稳定运行。
- **分析heapdump**:接着,使用heapdump分析工具查找内存占用大的对象,分析其生命周期,找出可能导致内存泄漏的嫌疑对象。 - **排查与修复**:定位到问题后,分析代码逻辑,找出导致问题的原因,如无用对象未被...
以下是对几种主要JAVA性能测试工具的详细介绍: ### LoadRunner LoadRunner是一款全面的性能测试解决方案,支持多种协议,包括HTTP、HTTPS、FTP、SMTP等,并且对某些协议的支持版本较高。它提供了高度灵活的负载...
本文将围绕Java性能分析工具展开,介绍其工作原理、采样分析器和探查分析器的特点,以及如何利用这些工具进行性能调优。 首先,性能分析工具通常分为两种主要类型:采样分析器和探查分析器。采样分析器通过定期收集...
总的来说,GCLogViewer是一款强大的Java性能分析工具,尤其在处理GC日志方面表现出色。通过其图形化的界面和详尽的数据分析,开发者可以深入理解应用程序的内存行为,从而做出有针对性的优化决策。无论你是经验丰富...
本文将详细介绍几款主流的Java性能分析工具,并进行对比分析,帮助开发者选择最适合自己的工具。 #### 1. VisualVM VisualVM是一款开源的工具,自JDK 6 Update 7起被默认包含在内。它能够提供CPU的使用情况、内存...
JProbe是一款强大的Java性能分析和调试工具,由PrismTech公司开发。它提供了丰富的功能,包括内存分析、线程分析、CPU性能分析等,可以帮助开发者快速定位并解决性能问题。jprobe.jar是JProbe的主要运行文件,包含了...
Java性能分析是优化Java应用程序的关键步骤,它涉及监控和理解应用程序在运行时的资源消耗,如CPU使用率、内存分配、线程活动等。Performance Analyzer是一款专门针对Java性能的工具,它提供了深入洞察应用程序性能...
Java性能分析工具,如JProfiler,是开发人员和系统管理员在优化Java应用程序时的重要武器。JProfiler是一款功能强大的Java性能剖析器,它提供了对内存、CPU、线程、类加载器、Garbage Collection(GC)等多种性能...
JProfiler是一款专业的Java性能分析器,它可以深度监控CPU、内存、线程等,并提供详细的报告和优化建议。 在实际使用中,我们可以利用这些工具对Java应用进行监控,比如在Jboss这样的应用服务器中,通过添加特定的...
在这个"MAT Eclipse MemoryAnalyzer java性能分析"主题中,我们将深入探讨MAT的核心功能、使用方法以及如何通过它来提升Java应用的性能。 MAT提供了丰富的视图和功能,帮助开发者识别内存问题。其中,最重要的可能...
3. **JProfiler**:这是一款功能全面的商业Java性能分析工具,具有实时内存分析、CPU Profiling、线程分析等功能。其内存分析部分能识别出未释放的对象和内存碎片,提供详细的内存分配历史,便于找出问题根源。 4. ...
IBM WebSphere JavaCore分析工具是针对IBM WebSphere应用服务器中出现的问题进行诊断的重要工具。JavaCore文件是由IBM WebSphere生成的一种日志文件,它记录了JVM(Java虚拟机)在遇到严重错误或异常时的堆栈跟踪和...
接下来,我们探讨一些常用的Java性能分析工具: 1. **VisualVM**:由Oracle提供的全功能JVM分析工具,可以查看CPU、内存、线程、类加载、Garbage Collection等信息,还可以进行线程 dump 和内存 dump 分析。 2. **...
4. **YourKit Java Profiler**: YourKit是另一款广泛使用的Java性能分析工具,它特别擅长于内存分析和CPU性能剖析。YourKit提供实时的内存泄漏检测,能够帮助开发者快速找到内存占用高的对象。 5. **AppDynamics**:...
TDA(Thread Dump Analyzer)是一款强大的Java线程分析工具,它能够帮助开发者深入理解应用在运行时的线程状态,包括线程的阻塞情况、等待资源、死锁等问题。下面将详细介绍TDA的使用方法、功能以及它如何帮助我们...