Java垃圾生成器

Java垃圾生成器,java,memory,garbage-collection,Java,Memory,Garbage Collection,我想为一些大型/难以调整/长期启动的Java应用程序微调GC。我希望有一些java程序,它可以调整为产生与我的大程序相同的内存分配模式,这样我就可以轻松地更改GC设置和/或内存分配模式并查看结果。 有这样的免费Java应用程序吗 更新/澄清实际应用程序的测试并不简单,因为它的输入是以某种格式通过网络传送的,它是某种服务器。我有这个应用程序的memdumps,所以我可以知道GC运行的频率和类型(次要/主要)。我想要的是一个我可以微调的应用程序,它将以同样的方式触发GC。在那之后,我将能够微调GC

我想为一些大型/难以调整/长期启动的Java应用程序微调GC。我希望有一些java程序,它可以调整为产生与我的大程序相同的内存分配模式,这样我就可以轻松地更改GC设置和/或内存分配模式并查看结果。
有这样的免费Java应用程序吗



更新/澄清实际应用程序的测试并不简单,因为它的输入是以某种格式通过网络传送的,它是某种服务器。我有这个应用程序的memdumps,所以我可以知道GC运行的频率和类型(次要/主要)。我想要的是一个我可以微调的应用程序,它将以同样的方式触发GC。在那之后,我将能够微调GC本身,以便更快/更少地执行它。

嗯,用实际应用程序测试GC设置怎么样?@Matt我更新了问题,希望我的情况现在更清楚了。@Victor这是一个有趣的想法,但我担心很难找到一个测试来忠实地复制任何非平凡应用程序的内存使用情况和GC模式。我同意@aix:单独建模内存分配是可行的,但GC也在很大程度上取决于许多其他因素:哪些对象会停留更长时间?哪个对象立即成为GC的合格对象?每个物体的寿命是多少。。。似乎不可能。为了精确地模拟内存使用情况,您只需要一个与正在运行的程序具有相同输入和输出的程序,并且该程序以相同的方式处理内存,对象在其中停留的时间尽可能长。我觉得这可能只是你的节目。我甚至不认为你可以模拟外部服务之类的东西,因为你必须准确地模拟这些服务以及它们可能使用的任何自定义驱动程序的行为(例如,我必须处理jdbc驱动程序中的mem.leaks-任何模拟的应用程序怎么能找到类似的东西?)