0

Trying to reach out to see if there is any known difference that may be causing this.

The application was developed and runs fine under:

openjdk version "1.8.0_151"

And its currently running in production environment under

java version "1.8.0_45"
Java HotSpot(TM) 64-Bit Server VM 

and occasionally fails due to -

Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded

Any help would be appreciated to solve this problem.

Mark1234
  • 589
  • 2
  • 8
  • 24
  • 1
    it depends on many things. For example: which gc do you use? how much memory is allocated to the application? how is memory usage under production different than in dev environment? - was the app tested under exactly same conditions on both jvms? Maybe there are some memory leaks that manifested only on production machine? If I understand correctly, your error means GC is taking most of the CPU time of the process while recovering almost no memory. – Kamil Piwowarski Jan 26 '18 at 15:20
  • 2
    OpenJDK and Oracle both use the same JVM - HotSpot. – Michael Jan 26 '18 at 15:22
  • yes test environment has same memory allocation and we are using default garbage collection settings at this time, without any customization. – Mark1234 Jan 26 '18 at 15:25
  • @Mark1234 Take a thread dump of each and see what the difference is. – Michael Jan 26 '18 at 15:28
  • ok, I notice that its caused by usage of a particular library and not consistent. – Mark1234 Jan 26 '18 at 15:34
  • Is the OpenJDK version also 64-bit? --- If it runs fine on 151, and fails on 45, why not upgrade production to 151? – Andreas Jan 26 '18 at 15:44
  • yes both 64 bit,and its not trivial to upgrade the version. – Mark1234 Jan 26 '18 at 15:50

0 Answers0