JVM调优

tech2023-01-24  110

调优命令

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

jps:JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程jstat:JVM statistic 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 日志的工具

JVM 性能调优

设定堆内存大小 -Xmx:堆内存最大限制 设定新生代大小。新生代不宜太小,否则会有大量对象涌入老年代 -XX:NewSize:新生代大小 -XX:NewRatio 新生代和老年代的占比 -XX:SurvivorRatio:伊甸园空间和幸存者空间的占比 设定垃圾回收器 年轻代用 -XX:+UseParNewGC 老年代用 -XX:+UserConcMarkSweepGC
最新回复(0)