JVM学习(四)JVM调优

一、调优命令

  Sun JDK监控和故障处理命令有jps、jstat、jmap、jhat、jstack、jinfo

  • jps,JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。
  • jstat,JVM statistics Monitoring是用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。
  • jmap,JVM Memory Map命令用于生成heap dump文件
  • jhat,JVM Heap Analysis Tool命令是与jmap搭配使用,用来分析jmap生成的dump,jhat内置了一个微型的HTTP/HTML服务器,生成dump的分析结果后,可以在浏览器中查看
  • jstack,用于生成java虚拟机当前时刻的线程快照。
  • jinfo,JVM Configuration info 这个命令作用是实时查看和调整虚拟机运行参数。

二、调优工具

  常用调优工具分为两类,jdk自带监控工具:jconsole和jvisualvm,第三方有:MAT(Memory Analyzer Tool)、GChisto。

  • jconsole,Java Monitoring and Management Console是从java5开始,在JDK中自带的java监控和管理控制台,用于对JVM中内存,线程和类等的监控。
  • jvisualvm,jdk自带全能工具,可以分析内存快照、线程快照,监控内存变化、GC变化等。
  • MAT,Memory Analyzer Tool,一个基于Eclipse的内存分析工具,是一个快速、功能丰富的Java heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。
  • GChisto,一款专业分析gc日志的工具。

三、Minor GC与Full GC分别在什么时候发生?

  新生代内存不够用时候发生MGC也叫YGC,JVM内存不够的时候发生FGC

四、你知道哪些JVM性能调优

设定堆内存大小

  -Xmx:堆内存最大限制。

设定新生代大小

  新生代不宜太小,否则会有大量对象涌入老年代

  • -XX:NewSize:新生代大小
  • -XX:NewRatio:新生代和老生代占比
  • -XX:SurvivorRatio:伊甸园空间和幸存者空间的占比

设定垃圾回收器

  • 年轻代用 -XX:+UseParNewGC
  • 年老代用 -XX:+UseConcMarkSweepGC
posted @   有梦想的肥宅  阅读(295)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示