Query on how to reducing Minor GC pause without any change in heap size by optimizing CPU cycles

Amit Mishra amit.mishra at redknee.com
Wed Mar 1 12:39:49 UTC 2017


Hello Team,

I am facing issue on one of the application which is having Minor GC happening every second with pause time of 120 ms due to which application throughput remains around 87%. Sometime it even drops below that. This is causing service impact for our Data network.

Application is having heap size of 48G and new size of 800 mb.

We have another Customer running same application and having same heap size of 48G but new size of 2GB and catering more traffic in terms of transaction per second but it is having Minor GC every two second  with pause time of only 80 ms due to which we are achieving good performance and throughput of more than 96%.

Only difference I found out between two Customer is first one is having old generation CPU(GenuineIntel family 6 model 29 step 1)  while second one is having relatively new CPU(GenuineIntel family 6 model 62 step 4).

But clock speed of both kind of CPU is same that is 2.4 Ghz and number of virtual cores are also same that is 24.

So my question is how come one CPU can perform better than another having same clock speed ?

What all are other factors associated with CPU that leads to complete 1 transaction and how can I speed up CPU performance on my impacting Customer ?

Searching over internet I found one parameter GFLOP(Giga Floating point operations per second) which determine which CPU is faster and in this case obviously GFLOP for better performing Customer is 3.2Ghz while that of poor performing CPU is 1.2Ghz.

Avg CPU usage on poor performing site is 40-50% while Avg CPU usage on better performing site is 20%..

Please confirm shall I ask my Customer to add more CPU of same old specifications to speed up Minor GC cycles or they will need CPU upgrade to faster GFLOP CPU's.

Other question is if I will increase new size from 800 mb to 2Gb on poor performing site then GC cycle frequency will change from 1 second to two second but I am worried if that will increase the pause time as well and overall application throughput will remain same or go down ?

Note : I cannot play with heap size of 48G as my Customer is having Concurrent mode failure issue once in 3-4 months so reducing overall heap size is not an option here.

Poor performing site CPU spec:

                The physical processor has 6 virtual processors (0 4 8 12 16 20)
  x86 (chipid 0x0 GenuineIntel family 6 model 29 step 1 clock 2400 MHz)
        Intel(r) Xeon(r) CPU           E7458  @ 2.40GHz
The physical processor has 6 virtual processors (1 5 9 13 17 21)
  x86 (chipid 0x1 GenuineIntel family 6 model 29 step 1 clock 2400 MHz)
        Intel(r) Xeon(r) CPU           E7458  @ 2.40GHz
The physical processor has 6 virtual processors (2 6 10 14 18 22)
  x86 (chipid 0x2 GenuineIntel family 6 model 29 step 1 clock 2400 MHz)
        Intel(r) Xeon(r) CPU           E7458  @ 2.40GHz
The physical processor has 6 virtual processors (3 7 11 15 19 23)
  x86 (chipid 0x3 GenuineIntel family 6 model 29 step 1 clock 2400 MHz)
        Intel(r) Xeon(r) CPU           E7458  @ 2.40GHz



Better performing site CPU spec:
The physical processor has 24 virtual processors (0-11 24-35)
  x86 (chipid 0x0 GenuineIntel family 6 model 62 step 4 clock 2400 MHz)
        Intel(r) Xeon(r) CPU E5-2695 v2 @ 2.40GHz
The physical processor has 24 virtual processors (12-23 36-47)
  x86 (chipid 0x1 GenuineIntel family 6 model 62 step 4 clock 2400 MHz)
        Intel(r) Xeon(r) CPU E5-2695 v2 @ 2.40GHz


Thanks,
Amit Mishra
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-use/attachments/20170301/e30734b9/attachment-0001.html>


More information about the hotspot-gc-use mailing list