阿里巴巴Dubbo
框架推荐配置参数,参数值根据情况调整
1 | -server |
1 | -server # 服务器模式 |
OmitStackTraceInFastThrow
问题描述:生产环境抛异常,但却没有将堆栈信息输出到日志1
2
3
4
5# -XX:+OmitStackTraceInFastThrow 选项在 -server 情况下默认开启。
这就不难解释为何经常在系统日志中看到很多行的java.lang.NullPointerException 苦于找不到 stacktrace 而不知道错误出在何处。
遇到这种情况,解决的方法也很简单:既然在一段时间后 jvm 才会进行重新编译优化,那么该错误在刚开始出现的时候还是会有 stacktrace 的。所以向前搜索日志,或者将程序重启,观察刚重启时候的 log 便可以找到错误的 stacktrace
-XX:+OmitStackTraceInFastThrow
-XX:-OmitStackTraceInFastThrow
PreserveFramePointer
1 | # 如果使用 perfj 画 Flame Graph 的话,开启这个 |