0

I have a windows machine running on KVM and I am running a java application (Using CMS GC) on the windows machine. The application was behaving very slow, so I checked the GC logs. The max heap size was 5 GB, but in the gc logs, I could find that the minor gcs was taking 5 seconds even before the heap reached the max 5GB. GC Graph

Upon checking which phase was using more time, I found this GC times

Legend

CMS-concurrent-sweep was taking too much time. Upon checking the same in another windows machine, I found that the CMS-concurrent-mark and CMS-concurrent-sweep was taking almost 30%. What does the increased CMS-concurrent-sweep value specify? Does it mean that deallocating was taking too much time? Could this be due to slow memory speeds or possibly swapping?

dVader
  • 15
  • 6
  • 1
    Which deallocating? If I get this horribly colored chart correctly (a legend would help), your heap is constantly growing. The first thing to clarify, would be whether and when this heap growth ever stops. – Holger Apr 20 '21 at 14:19
  • Sorry about that, I have added legends now. Initial size of heap is given as 256 MB and max size is 5GB. So the growth you see will stop at 5GB. The blue line is actually the used heap. Anyway I decided to use a different virtual machine to check as this needed too much effort to debug. Thanks anyway – dVader Apr 21 '21 at 18:02
  • 1
    Then, starting with `-Xms3500m` would have been my suggestion. But when a different vm solved the problem, even better. – Holger Apr 22 '21 at 06:21

0 Answers0