我们在高峰时间遇到严重的应用程序问题,应用程序变得非常非常慢,当我检查 AppDynamics 矩阵时,我的堆内存已满,并且每分钟都会启动 GC,这使得它非常非常慢。这是我的java(tomcat)的配置
OS version is Redhat 5 Linux
java version "1.6.0_05" 64Bit
Java 选项是-Djava.awt.headless=true -Xmx2048m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC
每分钟花费的主要 GC 收集时间 (ms)
CMS Old Gen 使用量(以 MB 为单位)
以 MB 为单位的 Eden 空间
有什么建议为什么par eden space和老一代会遇到强硬路线?
更新
这是最近 12 小时的堆使用情况和主要 GC 收集(绿点)的图片,GC 非常高,3:00AM to 7:00AM
但是当我重新启动应用程序时,7:30AM
一切都很好并且应用程序响应时间非常快,为什么重新启动解决了所有问题?
欢呼!4GB Heap 解决了问题
4GB 后每分钟 (ms) 的主要 GC 收集时间花费(零次主要 GC)
4GB 堆后 CMS Old Gen 使用量(以 MB 为单位)
4GB 堆后以 MB 为单位的 Par Eden 空间