Memory leaks PS幸存者空间几乎满了

Memory leaks PS幸存者空间几乎满了,memory-leaks,garbage-collection,jvm,Memory Leaks,Garbage Collection,Jvm,我看到PS survivor空间在我的应用程序的大部分时间几乎都满了(98%)。我不知道什么是PS幸存者空间。这正常吗? 在这种情况下应该做些什么?首先,请参见以下示例: 通常,堆的YoungGeneration部分有2个幸存者空间(例如,对于Hostpot VM)。它们的存在是为了让对象在升级到老一代之前成熟。因为清理老一代人要花更多的钱 收集一些统计数据,看看幸存者空间是否大部分时间都已满。您应该看到,在填充另一个时,其中一个始终为空。有关详细信息,请参见此问题 获得数据后,请查找: 幸存

我看到PS survivor空间在我的应用程序的大部分时间几乎都满了(98%)。我不知道什么是PS幸存者空间。这正常吗? 在这种情况下应该做些什么?

首先,请参见以下示例:

通常,堆的YoungGeneration部分有2个幸存者空间(例如,对于Hostpot VM)。它们的存在是为了让对象在升级到老一代之前成熟。因为清理老一代人要花更多的钱

收集一些统计数据,看看幸存者空间是否大部分时间都已满。您应该看到,在填充另一个时,其中一个始终为空。有关详细信息,请参见此问题

获得数据后,请查找:

  • 幸存者空间溢出-当幸存者空间太小,不允许对象在YoungHeap集合之间成熟,并且对象溢出到OldGeneration而没有时间成熟(并且在升级之前死亡)时,会发生这种情况

  • 另外,使用
    -XX:+PrintTenuringDistribution
    监控长期分布。看看物体成熟的速度有多快

更新:阅读并查看串行采集器部分,对幸存者空间有很好的解释:

注意:如果空间已满,则来自伊甸园的或来自的未激活的活动对象 无论有多少年轻一代的收藏品幸存下来,复制到它的都是“终身”的。任何 根据定义,复制活动对象后,仍留在伊甸园或来自空间的对象不是活动对象,无需对其进行检查


你好,谢谢你的回复。读了你的帖子后,我有了一个简单的想法。幸存者空间未满其几乎已满(98%)如何收集统计数据?幸存者空间满会导致系统崩溃吗?当幸存者空间满的时候会发生什么?这是一个正常的行为,当物体从伊甸园空间复制到幸存者空间时,幸存者空间几乎满了,对吗。。。我应该增加幸存者空间比率吗?