Jvm常见的调优命令工具

JVM调优的常见命令工具包括:

1. Jps

用于查询正在运行的JVM进程。 直接获取进程的pid

2. Jstat

可以实时显示本地或远程JVM进程中装载,内存,垃圾信息,JIT编译等数据

3. Jinfo

用于查询当前运行着的JVM属性和参数的值

4. Jmap

用于显示当前java堆和永生代的详细信息

5. Jhat 

用于分析使用jmap生成的dump文件,是JDK自带的工具

6. Jstack

用于生成当JVM所有线程快照,线程快照是虚拟机每一条线程正在执行的方法,目的是定位线程出现长时间停顿的原因。


JVM常见的调优参数包括:

1. -Xmx

指定java程序的最大堆内存

2. -Xms

指定最小堆内存

3. -Xmn

设置年轻代大小

整个堆大小=年轻代大小+年老代大小。所以增大年轻代后,会减小年老代大小。此值对系统影响较大,Sun官方推荐为整个堆的3/8

4. -Xss 

指定线程的最大栈空间,此参数决定了java函数调用的深度,值越大说明调用深度越深,若值太小则容易栈溢出错误(StackOverflowError)

5. -XX: PermSize

指定方法区(永久区)的初始值默认是物理内存的1/64。

在Java8中,永久区被移除,代之的是元数据区,由-XX:MetaspaceSize指定

6.-XX:NewRatio=n

年老代与年轻代的比值,-XX:NewRatio=2,表示年老代和年轻代的比值为2:1

7. -XX:SurvivorRatio=n

Eden区与Survivor区的大小比值,-XX:SurvivorRatio=8表示Eden区与Survivor区的大小比值是8:1:1,因为Survivor区有两个(from,to);

你可能感兴趣的:(Jvm常见的调优命令工具)