从初级到高级开发工程师都用得上的JVM参数

初级

指定堆内存

-Xms2G -Xmx5G

用处

指定最小堆内存可以减少jvm自动扩容的时间,否则jvm会一次一次的扩容,耽误时间
指定最大堆内存可以确保每个java进程堆内存只使用这些,避免干预其他进程。

中级

打印加载类

参数

-XX:+TraceClassLoading

用处

当遇到累加载冲突导致的问题时(比如方法找不到,类找不到)可以通过该参数打印每个类加载时的日志,来定位是不是加载错了版本(冲突导致),或是其他原因没加载到。如果加载到了那看看是不是类本身的问题

高级

分析oom

参数

-XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=./java_pid<pid>.hprof
-XX:OnOutOfMemoryError= 
-XX:+UseGCOverheadLimit

用处

当进程oom时,我们需要分析dump日志来分析原因,比如内存泄漏,或者是某些变量突然变大导致的。设置以上参数就可以在oom时自动打印dump日志至指定目录,定位时只需要取日志即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值