JVM 性能分析速记(jdk自带)

简介: JVM 性能分析速记(jdk自带)

java 自带的性能分析工具主要在bin目录下,包括jps、jstat、jmap、jhat等另外包括JConsole、Visual VM GUI工具。

此处不记录GUI ,且仅记录个人觉得常用有效的命令。

一、Jps:

 

 

jps

当前运行的java程序的pid、启动Main

 

 

jps -v

启动的pid 、 Main 与启动VM参数,不包含默认启动参数,如要查看默认启动参数使用 jinfo -flags ${pid}

 

 

二、jstat   查看java 运行时相关信息

 

 

-gc 显示与GC相关的堆信息

 

显示GC 相关信息第一列为时间戳,监听14124pid 的进程,每两秒打印一次,共10次。

相关列名中包含 from、to区,新生代老年代,元数据区,新生代gc老年gc的快照信息,详细信息可自行百度

 

-gccapacity

 

新生代最大最小、新生代大小、from与to区、新生代区、元数据、压缩、gc次数

 

-gcutil  显示垃圾收集信息

 

显示各区当前使用的百分比,gc次数与时间。

 

三、jinfo 查看正在运行的java应用程序的扩展参数。

 

-flag 查看具体参数值

 

 

-flags 查看所有参数

 

 

 

-sysprops 打印系统参数

 

 

 

四、jmap   生产dump 文件、查看堆内对象实例的统计信息、查看ClassLoader 的信息以及 finalizer 队列。

 

 

-histo

 

 

 

-dump  获取当前的堆快照

 

 

-clstat

 

 

 

五、jhat  分析堆快照内容

 

 

 

六、jstack  查看堆栈信息

 

 

-l  打印堆栈信息

 

 

 

七、jcmd  导出dump、查看java进程、导出线程信息、执行GC

 

jcmd 14124 help  列出可执行的命令

 

如:uptime 查看VM运行时间

 

查看information

 

 

重要:导出dump信息,使用MAT 或者VisualVM 等工具分析

目录
相关文章
|
4月前
|
安全 Oracle Java
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
324 0
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
|
6月前
|
存储 算法 Java
JvM JDK JRE 三者区别与联系详解
本文深入解析了Java编程中的三个核心概念:JVM(Java虚拟机)、JDK(Java开发工具包)和JRE(Java运行环境)。JVM是执行Java字节码的虚拟计算机,实现“一次编译,到处运行”;JDK包含JRE及开发工具,用于编写和调试Java程序;JRE负责运行已编译的Java程序。文章详细阐述了它们的功能、组成及应用场景,并通过实例说明其在实际开发中的作用,帮助开发者理解三者联系与区别,提升开发效率与问题解决能力。适合Java初学者及进阶开发者学习参考。
943 3
|
6月前
|
监控 Oracle Java
JVM JDK JRE 使用指南及组件封装方法详解
本指南全面介绍了JVM、JDK、JRE的使用方法与Java组件封装技巧。内容涵盖JDK安装配置、JRE使用、JVM参数调优(如堆内存设置和垃圾回收器选择),以及类、包的封装实践。通过示例展示工具类与数据访问组件的封装方法,并讲解JAR包创建与发布流程。此外,还提供了常见问题解决方案,如内存溢出处理和依赖冲突管理。帮助开发者掌握高效、规范的Java开发技能,提升代码复用性和可维护性。附带面试资料供进一步学习。
288 0
|
存储 算法 Java
jvm性能优化(一)-基于JDK1.8
jvm性能优化(一)-基于JDK1.8
|
Oracle 安全 Java
深入理解Java生态:JDK与JVM的区分与协作
Java作为一种广泛使用的编程语言,其生态中有两个核心组件:JDK(Java Development Kit)和JVM(Java Virtual Machine)。本文将深入探讨这两个组件的区别、联系以及它们在Java开发和运行中的作用。
426 1
|
Java 编译器 API
深入解析:JDK与JVM的区别及联系
在Java开发和运行环境中,JDK(Java Development Kit)和JVM(Java Virtual Machine)是两个核心概念,它们在Java程序的开发、编译和运行过程中扮演着不同的角色。本文将深入解析JDK与JVM的区别及其内在联系,为Java开发者提供清晰的技术干货。
247 1
|
存储 安全 Java
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别;什么是程序计数器,堆,虚拟机栈,栈内存溢出,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
|
Java 编译器 程序员
JVM常见面试题(一):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别
JVM常见面试题(一):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别
JVM常见面试题(一):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别
|
Java 编译器 测试技术
Java零基础教学(03):如何正确区别JDK、JRE和JVM??
【8月更文挑战第3天】Java零基础教学篇,手把手实践教学!
224 2
|
人工智能 Java 编译器
Java零基础(3) - 区别JDK、JRE和JVM
【8月更文挑战第3天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
181 1