我们有一个以集群模式运行Wildfly应用服务器的应用程序(6个节点)。当有一个小的GC触发时,我们有时会看到JVM冻结15秒。 JVM冻结导致应用程序不稳定。 我们启用了PrintTenuringDistribution,并观察到以下痕迹。
2016-10-13T13:49:05.000+0530: 83.471: [GC (Allocation Failure) GCTaskManager::calc_default_active_workers() : active_workers(): 13 new_acitve_workers: 13 prev_active_workers: 13
active_workers_by_JT:1110 active_workers_by_heap_size:46 GCTaskManager :: set_active_gang():all_workers_active()1个worker 13 active 13 ParallelGCThreads 13 JT:555名工作人员13名活跃13人闲置0名以上0
所需的幸存者大小733478912字节,新阈值11(最多15)
JVM参数
-XX:ThreadStackSize=512
-Xmx12288m
-XX:+UseParallelGC
-XX:+UseParallelOldGC
-XX:MaxPermSize=1024m
-XX:+DisableExplicitGC
-XX:NewSize=4096m
-XX:MaxNewSize=4096m
-XX:ReservedCodeCacheSize=256m
-XX:+UseCodeCacheFlushing
-XX:+UseDynamicNumberOfGCThreads
环境详情:Linux 64位RHEL 7 OpenJDK 1.8堆大小:12GB(年轻:4GB,任期:8GB)CPU核心:16 VMware ESX 5.1
有关改善Young GC时间的任何建议吗?