我们正在运行java-8-oracle.
我们六个月前搬到了java8.
在过去的几天里,我们不时收到OOME,但我们无法识别或重现问题.
当我们执行对服务器(tomcat)的调用时,我们在stacktrace上得到这个错误:
java.lang.OutOfMemoryError: Compressed class space
Run Code Online (Sandbox Code Playgroud)
重新启动服务器可以解决问题.对其他服务器的相同调用也起作用,对另一个类型的另一个调用也是如此.
在gc.log上查看时,我们看到:
2015-05-27T16:05:42.991+0000: 98774.440: [Full GC (Last ditch collection) 98774.440: [CMS: 575745K->575330K(3495936K), 0.8687777 secs] 575745K->575330K(4107008K), [Metaspace: 97940K->97940K(1396736K)], 0.8696093 secs] [Times: user=0.95 sys=0.00, real=0.88 secs]
2015-05-27T16:05:55.486+0000: 98786.935: [Full GC (Metadata GC Threshold) 98786.935: [CMS: 573414K->578735K(3495936K), 0.9372859 secs] 925046K->578735K(4107008K), [Metaspace: 99428K->99428K(1396736K)], 0.9386626 secs] [Times: user=1.01 sys=0.00, real=0.94 secs]
Run Code Online (Sandbox Code Playgroud)
jstat -gc 收益:
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
87296.0 87296.0 0.0 3151.4 523776.0 148284.4 …Run Code Online (Sandbox Code Playgroud)