当程序运行一段时间之后,由于很多代码触发jit,编译成native代码。
这部分代码会放在jvm的code-cache区域中。
jvm 1.6的code-cache只有40多m,
当大压力程序跑一段时间之后,code-cache会满,这个时候可能整个程序的jit机制被取消,完全回归到解释执行,然后jvm崩溃。
解决方法就是调大code-cache参数,
jmx可以看到code-cache的大小,
参考文章:http://www.jianshu.com/p/318617435789