我当前工作的一部分是大型Java应用程序的维护和供给,该Java应用程序设计为运行有大量内存(当前约为8
Gb),这主要是由于正在进行的大量缓存数据计算所致。我使用标准GC设置进行了初始部署,主要是因为没有一种简单的方法来模拟全倾斜运行的生产环境。
在接下来的几个月中,我将分阶段自定义GC设置。通常,最大的可用旋钮似乎是在调节增量gc的频率和幅度-
最大的改进是将较大的周期性gc换成了较小且更频繁的gc。但是我们绝对能够看到性能的提高。
我不会发布我的特定设置,因为a)它们特定于我们的设置,b)因为我没有方便的设置:)。但总的来说,我发现的是
- 在调整默认gc设置方面已经做了很多工作。 几乎 总是默认值比我做的任何调整都要好。
- 至少对我而言,gc调整实际上值得的情况非常极端,以至于无法尝试对其进行仿真,因此我不得不通过实验和逐步进行。



