我有一个 Spring Boot 应用程序开发,正在处理内存密集型进程,时间不超过 5 分钟。它将创建大量的对象,并在处理时间结束时被销毁。在此期间,这些对象从年轻代内存移至老年代,因为它在一定次数的 GC 周期中幸存下来。
我需要控制这一点,因为不需要在老一代内存中拥有未使用的内存引用对象。
有人可以帮助我如何配置 GC 参数,以便最小生命周期对象不应移动到老一代堆空间吗?
年轻代移动到老一代的周期取决于年轻代的大小可用性。您可以配置以下参数来执行此操作。
年轻代和年老代的大小可以通过
NewRatio
来控制。此外,您还需要为年轻代大小指定参数 NewSize
和 MaxNewSize
。
另一个参数
SurvivorRatio
可用于调整幸存者空间的大小。