JVM性能调优:年轻副本与老一代gc

时间:2011-06-07 05:02:24

标签: java performance garbage-collection jvm permanent-generation

嗨:我有一个多线程Java应用程序。有许多临时物品 -XX:MaxTenuringThreshold=1,我们在启动JVM时输入上面的参数。这意味着所有对象在gc期间将存活一次,然后它将被提升为老一代。例如,我们可以将此-XX:MaxTenuringThreshold=10放在一起,以便在10次gc之后将该对象提升为旧的JVM旧代。但是这会在年轻的gc期间导致不必要的复制操作(因为对象被'从'eden'复制'从'','从'到'到'','从','到'是两个幸存者缓冲区)?

这些问题也可能意味着如果a)年轻一代有多次复制,老一代gc,b)老一代垃圾收集,但很少有年轻一代复制,哪一个更好的表现呢?

1 个答案:

答案 0 :(得分:4)

哪一种“对于良好的性能更好”在很大程度上取决于您的应用及其运行条件。您最好的希望是尝试各种垃圾收集选项,然后进行运行时和内存分析,以便在内存使用和速度之间取得最佳平衡。

遗憾的是,垃圾收集设置没有灵丹妙药。