我开发了一个处理大量数据并需要很长时间才能完成的Web应用程序。现在我正在对我的应用程序进行分析,并注意到GC的一个非常严重的问题。当出现Full GC时,它会停止所有进程30-40秒钟。我想知道是否有任何方法可以改善这种情况。我不想让CPU浪费太多时间在GC上。以下是一些有用的细节:
1.我使用的是Java 1.6.0.23。 2.我的应用程序最大内存为20 GB。 3.每14分钟会出现一次Full GC。 4.GC之前的内存为20 GB,GC后为7.8 GB。 5.CPU中使用的内存(即任务管理器中显示的)为41 GB。 6.进程完成后(JVM仍在运行),已使用内存为5 GB,可用内存为15 GB。
1.我使用的是Java 1.6.0.23。 2.我的应用程序最大内存为20 GB。 3.每14分钟会出现一次Full GC。 4.GC之前的内存为20 GB,GC后为7.8 GB。 5.CPU中使用的内存(即任务管理器中显示的)为41 GB。 6.进程完成后(JVM仍在运行),已使用内存为5 GB,可用内存为15 GB。
java -version
命令。 - Aaron Digulla