jvm调优的常见指令和参数

1.指令

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

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

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

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

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

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

2.参数

1.-Xmx:用于指定Java程序的最大堆内存,使用java -Xmx5000M -version判断当前系统能分配的最大堆内存。

2.-Xms:指定最小堆内存,通常设置成跟最大堆内存一样,减少GC。

3.-Xmn:设置新生代大小。整个堆内存 = 新生代内存 + 老年代内存,此值对系统性能影响较大,Sun官方推荐设置为堆的3/8。

4.-Xss:指定线程的最大栈空间。该参数决定了java函数调用的深度,值越大调用深度越深,若值太小,容易发生栈溢出错误。

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

6.-XX:MaxPermSize :指定方法区(永久区)的最大值,默认是物理内存的1/4,Java8永久区移除之后,取而代之的是元数据区,由-XX:MaxMetaspaceSize指定。

7.-XX:NewRatio=n:老年代和新生代比值,n=2时,说明老年代和新生代的比值为2:1。

8.-XX:SurvivorRatio=n:Eden区和Survivor区的比值。n=8时,说明Eden和Survivor比值为8:1:1,因为Survivor有两个(from,to)。

 

参考文章:https://juejin.im/post/5e5c5c52f265da575f4e7558#heading-187

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值