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 等工具分析

目录
相关文章
|
3月前
|
存储 算法 Java
jvm性能优化(一)-基于JDK1.8
jvm性能优化(一)-基于JDK1.8
|
29天前
|
Oracle 安全 Java
深入理解Java生态:JDK与JVM的区分与协作
Java作为一种广泛使用的编程语言,其生态中有两个核心组件:JDK(Java Development Kit)和JVM(Java Virtual Machine)。本文将深入探讨这两个组件的区别、联系以及它们在Java开发和运行中的作用。
73 1
|
29天前
|
Java 编译器 API
深入解析:JDK与JVM的区别及联系
在Java开发和运行环境中,JDK(Java Development Kit)和JVM(Java Virtual Machine)是两个核心概念,它们在Java程序的开发、编译和运行过程中扮演着不同的角色。本文将深入解析JDK与JVM的区别及其内在联系,为Java开发者提供清晰的技术干货。
31 1
|
4月前
|
存储 安全 Java
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别;什么是程序计数器,堆,虚拟机栈,栈内存溢出,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
|
5月前
|
Java 编译器 程序员
JVM常见面试题(一):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别
JVM常见面试题(一):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别
JVM常见面试题(一):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别
|
4月前
|
Java 编译器 测试技术
Java零基础教学(03):如何正确区别JDK、JRE和JVM??
【8月更文挑战第3天】Java零基础教学篇,手把手实践教学!
72 2
|
4月前
|
人工智能 Java 编译器
Java零基础(3) - 区别JDK、JRE和JVM
【8月更文挑战第3天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
78 1
|
4月前
|
缓存 Java 编译器
JRE、JDK、JVM 和 JIT 之间的区别详解
【8月更文挑战第22天】
199 0
|
5月前
|
Java 编译器 运维
开发与运维测试问题之在JVM中方法区也被称之为什么如何解决
开发与运维测试问题之在JVM中方法区也被称之为什么如何解决
27 1
|
4月前
|
Arthas Prometheus 监控
使用JDK自带工具调优JVM的常用命令
使用JDK自带工具调优JVM的常用命令