# JVM 参数及调优

JVM 参数及调优


Java 常用命令

Javac
功能
  • 将Java源代码换成字节代码
命令格式
  • javac One.java

Javap
功能
  • javapJDK自带的反编译器,可以查看编译器生成的字节码,用于分解class文件
  • 反编译编译产生.class文件
命令格式
  • javap -p -v JvmTest.class
  • javap -l:输出行号和本地变量表信息
  • javap -c:会对当前class字节码进行反编译生成汇编代码

Jmap
功能
  • 生成快照文件
  • 查看对内对象的统计信息
  • 查看类加载器的信息
命令格式
  • pid:需要打印信息的进程
  • jmap -dump:format=b,file=test.hprof 2680:生成线程快照

Jstack
功能
  • 打印指定java进程IDJava堆栈信息
  • 针对Core文件做线程dump
命令格式
  • jstack pid
  • jstack 2680 >test.txt:将堆栈信息添加到文件当中

Jstat
功能
  • 查看堆内存各部分的使用量、以及加载类的数量等。
命令格式
  • jstat -gc 2680:垃圾回收机制
  • jstat -gcutil 2680 2000:每隔2s统计一波

JInfo
功能
  • 用来查看正在运行的Java应用程序的扩展参数、包括Java System属性和JVM命令行参数,也可以动态的修改正在运行的JVM一些参数。
命令格式
  • jinfo -flags 2680:输出全部的参数

  • jinfo 2680:输出当前Jvm进程的全部参数和系统属性


Javadoc
功能
  • 可以从程序源代码中抽取类、方法、成员等注释、然后形成一个和源代码配套的API帮助文档
命令格式
  • javadoc -author -version JvmTest.java:为java文件生成Javadoc文档
    在这里插入图片描述

JConsole
功能
  • java自带的Jvm可视化工具
命令格式
  • jconsole
    在这里插入图片描述

Jvisualvm
功能
  • 监控内存泄露,跟踪垃圾回收,执行时内存、cpu分析,线程分析等。
命令格式
  • jvisualvm

在这里插入图片描述


Jvm调优

何时调优
  • Heap内存达到设置的最大内存值
  • Full Gc次数过于频繁
  • 堆栈溢出
  • 应用中有使用本地缓存且占用大量内存空间
  • 系统吞吐量与响应性能不高或下降
调优目标
  • 延迟:GC低停顿和GC低频率
  • 低内存占用
  • 高吞吐量

尽可能的去达到性能最佳,选择其中的两个进行调优,不可三者兼得

调优步骤
  • 分析GC日志快照文件,判断是否需要优化
  • 确定JVM调优参数
  • 对比观察调优前后的差异
  • 不断的分析和调整,直到找到合适的JVM参数配置

Jvm参数

常用参数
  • -Xms:堆的初始值,java堆的大小

  • -Xmx:堆能达到的最大值

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值