GC花了三个小时来降低1.2GB的堆,可能是什么原因?
在我们的一台服务器中,垃圾回收花了将近三个小时才尝试(成功)降低(成功)1.2GB的堆内存。从 1.4GB 到 200MB。
在此期间,CPU使用率很高,几乎达到80-100%。可能的原因是什么?我们有4个具有相同配置(JVM设置,服务器配置,硬件,网络)的服务器,假设没有人对其进行任何更改,那么特定服务器运行3小时GC的原因是什么。
所有其他服务器对于每个GC活动仅花费5到10分钟。
请附上HP BAC的图表,方便您参考。显示我认为GC启动的时间,以及GC停止的时间。
(正如斯蒂芬所指出的,更确凿的发现)当服务器管理员回复我时,请提供以下信息:
- 您正在使用的 JVM 的确切版本。(标准 Java SE 1.4.2)
- JVM 选项。(即将推出)
- Web 容器/服务器库的详细信息。(即将推出)
- 有关服务功能的信息。来自服务器/服务日志文件的任何相关线索(即将推出)
- 请求日志中的任何相关模式(即将推出)
- GC 记录事件发生的时间。(如果当前未启用 GC 日志记录,则可能需要启用它并等待问题再次出现。(即将推出)