原创转载请注明出处:http://agilestyle.iteye.com/blog/2371409
jps
jsp命令用来输出JVM虚拟机进程的一些信息,可以列出虚拟机当前正在执行的进程,并显示其主类(即main函数所在的class)和进程的ID。jps可以方便地找到进程主类对应的进程ID
jstat
jstat是一个可以用来对虚拟机各种运行状态进行监控的工具,通过它可以查看到虚拟机的类加载与卸载情况,管理内存使用和垃圾收集等信息,监视JIT即时编译器的运行情况等,几乎囊括了JVM运行的方方面面。在很多由于权限或者其他原因而无法使用图形化工具的情况下,JVM自带的jstat工具成为了运行期定位问题的首选。
jinfo
jinfo命令主要用于查看应用程序的配置参数,以及打印运行JVM时候所指定的JVM参数。jinfo可以使用-sysprops选项将虚拟机进程中所指定的System.getProperties()的内容打印出来,并且该命令还可以查看未被显示指定的JVM参数的系统默认值,这通过jps -v是无法看到的。同时jinfo命令还能够在运行期修改JVM参数,通过使用 -flag name=value 或者 -flag [+|-]name 来修改一部分运行期可修改的虚拟机参数
jstack
jstack命令用来生成虚拟机当前的线程快照信息,线程快照就是当前虚拟机每一个线程正在执行的方法堆栈的集合。生成线程快照的目的主要是为了定位线程长时间没有响应的原因,如线程死锁、网络请求没有设置超市时间而长时间没有返回,死循环、信号量没有释放等,都有可能导致线程长时间停顿。这时如果能够 dump 出当前JVM虚拟机的线程快照,就能够看出没有响应的线程究竟在做什么事情,从而定位问题。
jmap
jmap可以用来查看等待回收对象的队列,查看堆的概要信息,包括采用的是哪种GC收集器,堆空间的使用情况,以及通过JVM参数指定的各个内存空间的大小等。并且jmap还有一个十分强大的功能,便是可以生成JVM堆的转储快照。通过相关工具对堆转储快照进行分析,能够看到内存中究竟有哪些对象,以及这些对象分别所占用的空间,以便找到诸如内存泄漏等问题的罪魁祸首。
有一点需要注意的是,jmap执行堆dump操作是,由于生成的转储文件较大,将耗费大量的系统资源。因此,应避免在系统高位运行时执行该指令,否则有可能造成短时间内系统无法响应的情况出现。
note:
通过在JVM启动时指定-XX:+HeapDumpOnOutOfMemoryError参数,可以在JVM翻身OOM的情况下生成堆转储快照,以便排查导致OOM的原因。
BTrace
BTrace是一个开源的Java程序动态跟踪工具,它工作的基本原理是通过Hotspot虚拟机的HotSwap技术将跟踪的代码动态替换到被跟踪的Java程序内,以观察程序运行的细节。通过BTrace可以在不修改代码、不重启应用的情况下,动态地查看程序运行细节,方便地对程序进行调试。
JConsole
JConsole是一款JDK内置的图形化性能分析工具,它可以用来连接本地或者远程正在运行的JVM,对运行的Java应用程序的性能及资源消耗情况进行分析和监控,并提供可视化的图表对相关数据进行展现。通过运行bin目录下的JConsole命令,它将自动搜索出本机所有的Java进程,选中其中一个进程双击即可以开始监控,也可以使用远程连接功能,对远端的JVM进程进行监控。
JVisualVM
JVisualVM是一款功能十分强大的“All-in-One”,涵盖了JVM内存消耗监视、性能分析、线程,以及堆转储分析、垃圾回收监视等几乎所有能包含进来的功能,是到目前为止,伴随JDK发布的功能最为强大的运行、监视和故障排查程序。
Reference
大型分布式网站架构设计与实践 陈康贤 著
相关推荐
JAVA JVM性能调优监控工具详解
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解 本文将对一些常用的 JVM 性能调优监控工具进行介绍,包括 jps、jstack、jmap、jhat、jstat 等工具的使用详解。这些工具对于 Java 程序员来说是必备的,...
JVM性能调优监控工具1
JVM性能监控与调优实战课程,作为整篇课程的重中之重,非常值得同学们参考学习。课程前端讲解了JVM的性能监控和调优的概述,对调优的的方法和工具进行讲解学习,让同学们掌握方法,理解知识。课程的中间阶段我们进行...
jvm性能监控与调优.xmind
JVM下篇:性能监控与调优篇.7z
第5节jvm再体验-jvm可视化监控工具 [免费观看] 00:21:17分钟 | 第6节杂谈 [免费观看] 00:12:37分钟 | 第7节Java的发展历史00:27:24分钟 | 第8节Java的发展历史续00:02:27分钟 | 第9节Java技术体系00:08:46分钟 |...
软件主要功能如下: (1)监控堆内存的占用情况和创建对象实例的数量,找出内存泄露的原因; (2)监控占用CPU较多的方法; (3)监控线程的阻塞和死亡; (4)监控GC的耗时;
性能调优包含多个层次,比如:架构调优、代码调优、JVM调优、数据库调优、操作系统...性能调优基本上按照以下步骤进行:明确优化目标、发现性能瓶颈、性能调优、通过监控及数据统计工具获得数据、确认是否达到目标。
该文档是关于java虚拟机的原理,描述及调优视频,其中,详细讲述了jvm的运行机制,类装载器,GC算法,性能监控工具,堆,锁等内容。
JVM调优工具可以帮助开发者和运维人员更好地了解JVM的运行情况,诊断和解决性能问题。这些工具可以用于优化和调试Java应用程序,提高应用程序的性能和可靠性。 在实际应用中,可以使用Jmap命令查看内存信息,使用...
Java性能监控与调优Demo,主要学习各种JDK监控工具以及jvm调优-monitor_tuning_Demo
Java生产环境下性能监控与调优详解视频教程 jstat查看JVM统计信息 jstack与线程的状态 MAT 分析内存溢出的方法 可视化工具分析GC日志 通过这套视频学习如何在生产环境下进行性能监控与调优。 视频在百度网盘中...
关于TProfiler实际用法及其注意事项,请参考博客JVM 性能调优实战之:使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码(实测可用),地址:http://blog.csdn.net/q915730058/article/details/79136805
参数分类和JIT编译器诊断:标准参数、非标准参数、调试参数和JIT监控工具。 垃圾回收和内存调优:新生代和老年代的垃圾回收参数调优。 代码缓存:调整代码缓存大小和解决溢出问题的参数。 并行垃圾回收器:设置和...
将视频整合成为思维导图...内容包括:(1)基于JDK命令后工具的监控(2)基于Btrace的监控调试(3)nginx性能监控和调优 (4)java代码层优化(5)JVM层GC调优(6)基于JVisualVM的可视化监控(7)tomcat性能监控和调优
通过本课程,你将掌握多种性能监控工具应用,学会定位并解决诸如内存溢出、cpu负载飙高等问题;学会线上代码调试,Tomcat、Nginx,GC调优等手段; 读懂JVM字节码指令,分析源码背后原理,提升应对线上突发状况的能力...
JVM性能调优监控工具 设计模式 消息中间件 RocketMQ 概念 RocketMQ 特性 RocketMQ 集群 RocketMQ 事务 RocketMQ 常见问题 数据库 Redis 基本数据结构 进阶使用 持久化 集群 分布式锁 Client API 常见问题 ZooKeeper ...
不同的JVM具有不同的参数设置和监控工具,JRockit JVM在Intel架构和Windows平台上性能更好。 三、WebLogic实例的设置 WebLogic实例的设置包括启动参数设置、线程设置和数据库连接池的设置。启动参数设置主要是设置...
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,下面这篇文章主要给大家介绍了关于jvm信息jmap使用的基本方法教程,需要的朋友...