|
|
1
2
这是正常的行为。Java垃圾收集器旨在最小化两个指标:
最小化总体内存利用率不是主要目标。 在您的示例中,您使用的G1GC具有(隐式或显式)最大暂停时间目标。JVM发现仍有约1GB的可用堆空间,并估计它还不需要触发GC来满足暂停时间保证。所以它不会。。。因为在没有GC的情况下运行GC 足够地 收集垃圾的效率很低。
坦率地说,我认为这根本不是问题。但如果
平均的
内存利用率对您来说确实是一个问题,请查看
请注意,这将提高JVM的CPU利用率: TANSTAAFL . |
|
|
2
0
感谢您的回复。我添加了G1PeriodicGC选项,它解决了我的问题。 “坦率地说,我认为这根本不是问题” 就我而言,这是一个问题。该服务在我的服务器上毫无目的地使用了2GB的RAM。此数据不会保留在缓存中以供将来重用,因此需要删除。我意识到这一点是因为我的服务器上的RAM使用率太高,导致其他服务出现内存不足错误。 我不是Java专家,但从技术上讲,使用垃圾回收器设置是一个好的解决方案吗? 此外,您提到它会影响CPU使用率。这是否意义重大,或者它是否具有与垃圾收集器自行运行相同的影响? |