jvm优化思路

王大爷 2021年07月11日 479次浏览

JDK 命令行工具

这些命令在 JDK 安装目录下的 bin 目录下:

  • jps (JVM Process Status): 类似 UNIX 的 ps 命令。用户查看所有 Java 进程的启动类、传入参数和 Java 虚拟机参数等信息;
  • jstat( JVM Statistics Monitoring Tool): 用于收集 HotSpot 虚拟机各方面的运行数据;
  • jinfo (Configuration Info for Java) : Configuration Info forJava,显示虚拟机配置信息;
  • jmap (Memory Map for Java) :生成堆转储快照;
  • jhat (JVM Heap Dump Browser ) : 用于分析 heapdump 文件,它会建立一个 HTTP/HTML 服务器,让用户可以在浏览器上查看分析结果;
  • jstack (Stack Trace for Java):生成虚拟机当前时刻的线程快照,线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合。

JVM调优之参数配置

JVM提供了诸多的参数进行JVM各个方面内存大小的设置,为Java应用进行优化提供了诸多的工具,本文将会详细分析各个参数的功能与使用。

  • 常见参数说明:
    -Xms: //堆内存初始化大小
    -Xmx: //堆最大可用内存
    -Xmn: //新生代堆最大可用内存
    -XX:UseSerialGC //设置新生代中:Eden空间、SurvivorRadio From空间、SurvivorRadio To空间的占比
    -XX:NewRatio //设置新生代空间和老年代空间的占比
    -XX:+PrintGC //每次触发GC的时候打印相关日志
    -XX:+UseSerialGC //串行回收
    -XX:+PrintGCDetails //打印详细Gc日志
  • -XX:+PrintGCDetails 使用示例
    2.1 在IDEA 中新建一个测试类Test,并配置VM参数

排错经验