`

JVM性能调优监控工具

    博客分类:
  • JVM
 
阅读更多

原创转载请注明出处: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性能调优监控工具详解

    ### JAVA JVM性能调优监控工具详解 在Java开发过程中,特别是在企业级应用中,经常会遇到各种性能瓶颈问题,如内存溢出(`OutOfMemoryError`)、内存泄露、线程死锁、锁争用等问题。这些问题如果不能及时有效地解决...

    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解.docx

    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解 本文将对一些常用的 JVM 性能调优监控工具进行介绍,包括 jps、jstack、jmap、jhat、jstat 等工具的使用详解。这些工具对于 Java 程序员来说是必备的,...

    JVM性能调优监控工具1

    Java虚拟机(JVM)性能调优是优化Java应用程序的关键环节,而监控工具在此过程中扮演着至关重要的角色。本文将详细介绍几个常用的JVM性能监控工具及其功能,包括Jinfo、Jstat、Jmap和Jstack。 1. **Jinfo**: ...

    深入理解Java虚拟机(jvm性能调优+内存模型+虚拟机原理).zip

    《深入理解Java虚拟机》是一本深度探讨Java虚拟机(JVM)的著作,涵盖了JVM性能调优、内存模型以及虚拟机原理等多个关键领域。本文将基于这些主题,详细阐述其中的重要知识点。 首先,我们要了解Java虚拟机(JVM)...

    常用的 JVM 性能调优监控工具,太强大了!.zip

    计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习...

    JVM 性能调优监控工具 jps、jstack、jmap、jhat、jstat、hprof 使用详解.zip

    计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习参考资料计算机技术、IT咨询、人工智能AI理论介绍,学习...

    个人总结之—JVM性能调优实战

    ### 个人总结之—JVM性能调优实战 #### 概述 本文档是一篇关于JVM(Java虚拟机)性能调优的经典实战总结。在实际应用开发与维护过程中,JVM性能调优是一个非常重要的话题,它直接关系到应用程序运行效率、资源利用...

    JVM 监控 调优 工具

    在Java应用程序的开发和运行过程中,了解JVM的工作原理,监控其状态,以及进行性能调优是至关重要的。本文将深入探讨JVM内存结构、监控工具及其在调优和GC优化中的应用。 **JVM内存机构** JVM内存主要分为以下几个...

    基于Spring Boot框架的JVM性能调优与内存管理.zip

    基于Spring Boot框架的JVM性能调优与内存管理 项目简介 本项目是一个基于Spring Boot框架的Java应用程序,专注于JVM性能调优与内存管理。通过深入探讨JVM的内存分配、垃圾收集、线程管理、并发控制等核心概念,...

    JVM性能调优经典教程

    JVM性能调优是一项关键技术,旨在优化JVM的内存管理、垃圾收集、类加载等方面,以提升程序运行速度、减少内存占用并避免系统崩溃。本教程"JVM性能调优经典教程"由马士兵老师倾力讲解,旨在帮助Java开发者进阶,掌握...

    JVM性能调优分析过程

    本文将详细解析JVM性能调优分析的过程,并提供常见参数选择配置的建议。 首先,进行JVM参数调优时,我们需要考虑以下几个步骤: 1. **对象占用内存计算**:了解业务系统每秒钟创建的对象数量及其占用的内存空间,...

    JVM参数调优及JAVA相关工具使用

    为了优化JVM性能,还可以调整其他参数,如-Xss控制线程栈大小,-XX:NewSize和-XX:MaxNewSize定义年轻代大小,-XX:PermSize和-XX:MaxPermSize设定永久代大小。通过这些参数的精细调整,开发者可以根据应用特性优化JVM...

    深入理解JVM性能调优和内存模型,垃圾回收,虚拟机原理,经典视频教程

    《深入理解JVM性能调优和内存模型,垃圾回收,虚拟机原理,经典视频教程》是一套详尽的教育资源,旨在帮助Java开发者深入探索Java虚拟机(JVM)的内部工作机制,提升性能优化的能力。本教程共包含110讲,内容丰富,适合...

    涨见识!JVM性能监控与调优实战 一线大厂大牛讲师的JVM优化案例与解决方案课程

    JVM性能监控与调优实战课程,作为整篇课程的重中之重,非常值得同学们参考学习。课程前端讲解了JVM的性能监控和调优的概述,对调优的的方法和工具进行讲解学习,让同学们掌握方法,理解知识。课程的中间阶段我们进行...

    JVM性能调优-JVM内存整理及GC回收.pdf_java_jvm_

    《JVM性能调优——JVM内存整理及GC回收》是针对Java开发人员的重要主题,尤其是在大型企业级应用中,确保JVM(Java虚拟机)的高效运行是至关重要的。本资料深入探讨了如何通过调整JVM内存设置和优化垃圾回收机制来...

    Java高并发编程与JVM性能调优实战 视频教程 下载下载因为太大存百度云盘4.zip

    《Java高并发编程与JVM性能调优实战》是一门深度探讨Java开发中高并发处理和JVM优化的视频教程。课程旨在帮助开发者提升在大规模并发环境下的编程能力,同时掌握JVM内部机制,实现高效的系统性能优化。通过学习本...

    JVM性能调优

    ### JVM性能调优 #### JVM概念与发展历程 Java虚拟机(JVM)是Java Virtual Machine的简称,它是一种能够执行Java字节码的虚拟机。JVM的主要作用是在不同的平台上运行Java程序,使得Java程序具备跨平台的能力。...

    JVM调优工具命令详解.pdf

    在现代的软件开发与运行环境中,Java虚拟机(JVM)的性能调优是非常重要的一环,特别是在处理大型应用程序或者服务时,合适的JVM调优能够显著提升系统性能和稳定性。本篇文档详细介绍了JVM调优工具的命令使用及其...

    Java高并发编程与JVM性能调优实战 视频教程 下载下载因为太大存百度云盘1.zip

    《Java高并发编程与JVM性能调优实战》是一门深度探讨Java开发中高并发处理和JVM优化的视频教程。课程旨在帮助开发者提升在大规模并发环境下的编程能力,同时掌握JVM性能优化技巧,以实现更高效、稳定的Java应用程序...

Global site tag (gtag.js) - Google Analytics