1个回答 · 0人关注

JVM调优的常见命令行工具有哪些?JVM常见的调优参数有哪些?

使用匿名身份回答
使用实名身份回答
匿名身份来自未知星球

插入图片方式:点击图标,选择你想插入的图片。

插入代码方式:点击图标,选择代码类型,在指定位置写入或复制粘贴代码。

插入图片方式:点击价格:(网友付费查看此回答)   验证码:

提交回答

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

1jps命令用于查询正在运行的JVM进程,

2jstat可以实时显示本地或远程JVM进程中类装载、内存、垃圾收集、JIT编译等数据

3jinfo用于查询当前运行这的JVM属性和参数的值。

4jmap用于显示当前Java堆和永久代的详细信息

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

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

2JVM常见的调优参数包括:

-Xmx

指定java程序的最大堆内存, 使用java -Xmx5000M -version判断当前系统能分配的最大堆内存

-Xms

指定最小堆内存, 通常设置成跟最大堆内存一样,减少GC

-Xmn

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

-Xss

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

-XX:PermSize

  指定方法区(永久区)的初始值,默认是物理内存的1/64, 在Java8永久区移除, 代之的是元数据区, 由-XX:MetaspaceSize指定

-XX:MaxPermSize

  指定方法区的最大值, 默认是物理内存的1/4, 在java8中由-XX:MaxMetaspaceSize指定元数据区的大小

-XX:NewRatio=n

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

-XX:SurvivorRatio=n

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


×
查看对话
写出你的问题
立即邀请用户,更快获得回答
举报
举报
付费查看回答
应付金额:
×