我们计划将目前在Java5堆栈上运行的企业应用程序迁移到Java7堆栈。我们遇到问题隐含 gc呼叫(主要是gc)导致系统在短时间内不稳定(范围从5分钟到30分钟)。在分析gc统计数据后,我们发现紧凑型阶段与标记和扫描阶段相比需要很长时间才能完成。我知道压缩是非常复杂和耗时的,但它影响了面向客户的应用服务器,并且在此阶段很少有连接被中断。Java7 vs java5垃圾回收
现在,我的问题是,我们正在迁移到Java7,有比Java5更好的垃圾收集过程吗?
应用程序服务器提供体面的系统资源。
- 每个应用服务器包含32个CPU核心
- 包含64 GB的RAM
- 应用服务器是IBM webpshere服务器
- 操作系统 - 64位的IBM AIX
正如前面所说的,GC由于隐式系统调用而发生。没有明确的系统调用调用gc。
你能为你的java5配置提供GC日志和设置吗? – the8472