-XX:CompileCommand

用法:-XX:CompileCommand=_ 例子: -XX:CompileCommand=exclude,com/app/App,test -XX:CompileCommand=exclude,com.app.App::test -XX:CompileCommand=exclude,com/app/App::test 表示com.app.App.test这个方法将不会进行jit编译,一直解释执行,从而绕过jit相关的bug

当JVM crash的时候,查看error log:

  
---------------  T H R E A D  ---------------  
  
Current thread (0x00002aab4803e800):  JavaThread "CompilerThread1" daemon [_thread_in_native, id=28511, stack(0x0000000040d0d000,0x0000000040e0e000)]  
  
siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x000000000000002c  
  
Current CompileTask:  
C2:171% !   
com.app.App.test(Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; @ 56 (492 bytes)  
  

当在错误日志中显示“the Current thread is a JavaThread named CompilerThread0, CompilerThread1, or AdapterCompiler”时,可能是触发了JVM的编译器的BUG导致的。

此时需要去掉JIT编译优化,那么就需要用到上面的参数,在启动参数中加上-XX:CompileCommand=exclude,com/app/App::test,使得导致crash的方法不进行编译优化。

转载于:https://my.oschina.net/kayCz/blog/1526580

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值