是否允许使用选项-Xgc:deterministic
和非常大的-XpauseTarget=5000
收集所有垃圾。
我不太关心性能,我需要确保收集每个垃圾对象。
这就是文档中所说的:
垃圾收集器已在非常短而确定性的停顿时间进行了优化。垃圾收集器将旨在使垃圾收集暂停在给定的暂停目标之下。例如,How well it will succeed depends on the application and the hardware.
在30 ms的暂停目标上已在具有1 GB堆和平均30%的Live Data或SIMER的应用程序上进行了验证,以下硬件运行:
- 2 x英特尔Xeon 3.6 GHz,2 MB级2号缓存,4 GB RAM
- 4 x Intel Xeon 2.0 GHz,0.5 MB级2号缓存,8 GB RAM
您也可能需要通过以下方式限制GC线程。
-XXgcthreads:<# threads>
,每个服务器核心的线程数应该为1个线程。