JVM学习(5)-- JVM参数及分析工具

目录

JVM参数及分析工具

JVM参数

标准参数

-X参数

-XX参数

查看参数

设置参数的方式

常用参数含义

常用命令

jps 查看java进程

jinfo

jstat

jstack

jmap

常用工具

jconsole

jvisualvm

Arthas

MAT

GC日志分析工具

 


JVM参数及分析工具

JVM参数

标准参数

-version   -help    -server -cp

-X参数

非标准参数,在JDK各个版本中可能会变动

-Xint 解释执行  -Xcomp 第一次使用就编译成本地代码    -Xmixed 混合模式,JVM自己来决定

-XX参数

使用最多的参数类型,非标准化参数,主要用于JVM调优

1.Boolean类型

格式:-XX:[+-]<name>    +-表示启用或者禁用name属性

例子:-XX:UseConcMarkSweepGC   表示启用CMS类型的垃圾回收器 -XX:+UseG1GC    表示启用G1类型的垃圾回收器

2.非Boolean类型

格式: -XX<name>=<value>   表示name属性的值是value

例子:-XX:MaxGCPauseMillis=500   表示最大停顿时间

查看参数

java -XX:+PrintFlagsFinal -version > flags.txt

注意:“=”表示默认   “:=”表示被用户或JVM修改后的值

设置参数的方式

  • 开发工具中设置,比如IDEA, eclipse
  • 运行jar包的时候:java -XX:+UseG1GC xxx.jar
  • web容器比如Tomcat,可以再脚本中进行设置
  • 通过jinfo实时调整某个java进程的参数(仅被标记为manageable的flags可以被实时修改)

常用参数含义

常用命令

jps 查看java进程

jinfo

(1)实时查看和调整JVM配置参数

(2)查看   jinfo -flag name PID 查看某个java经常的name属性值

jinfo -flag MaxHeapSize PID        jinfo- flag UseG1GC PID
(3)修改
参数只有被标记为manageable的flags可以被实时修改
jinfo -flag [+|-] PID        jinfo -flag = PID
(4)查看曾经赋值的一些参数
jinfo -flags PID

jstat

(1)查看虚拟机性能的统计信息

(2)查看类装载信息 jstat -class PID 1000 10次   ->查看某个java进程的类装载信息,每1000毫秒输出一次,共输出10

(3)查看垃圾收集信息    jstat -gc PID 1000 10

jstack

(1)查看线程堆栈信息

(2)用法: jstack PID

(3)排查死锁 

jmap

(1)生成堆转储快照

(2)打印出堆内存相关信息

jmap-heap PID
(3) dump出堆内存相关信息   jmap -dump:format=b,file=heap.hprof PID
(4)堆溢出的时候自动dump出该文件    -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=heap.hprof
一般 dump 下来的文件可以结合工具来分析

常用工具

jconsole

jvisualvm

可监控本地和远端

Arthas

Arthas Alibaba 开源的 Java 诊断工具,采用 命令行交互模式 ,是排查 jvm 相关问题的利器。

MAT

Java 堆分析器,用于查找内存泄漏
Heap Dump ,称为堆转储文件,是 Java 进程在某个时间内的快照。 它在触发快照的时候保存了很多信息: Java 对象和类信息。
通常在写 Heap Dump 文件前会触发一次 Full GC 下载地址 https://www.eclipse.org/mat/downloads.php

GC日志分析工具

拿到GC日志文件

-XX:+PrintGCDetails  -XX:+PrintGCTimeStamps  -XX:+PrintGCDateStamps  -Xloggc:$CATALINA_HOME/logs/gc.log

在线的有 gceasy  GCViewer

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值