Oracle SOA(EAI) G1GC

<Environment>

■ SOA Version : Oracle Cloud SOACS 12.2.1.4 (Market Place)

■ java version 1.8.0_261

■ Java Memory Garbage Collection Type : G1GC

-----------------------------------------------------------------------------------------------------

In this post, I will compare between Parallel GC and G1 GC for Oracle SOA(EAI).

For this, you need to know something as bellow..


EAI

- Enterprise Architecture Integration


What is Java Memory Garbage Collection (GC)?

- Memory management

- Delete unused memory automatically


Java Memory Garbage Collection Types

  • - Serial Garbage Collector
  • - Parallel Garbage Collector -> Default GC below 1.9
  • - CMS Garbage Collector
  • - G1(Garbage First) Garbage Collector -> Default GC above 1.9


GC types
- Minor and Major GC


During GC
- Stop the World : All application threads are stopped

-----------------------------------------------------------------------------------------------------

Let's start!!

Parallel Garbage Collector Logic

Shortly,

Memory usage follow...

from Young Generations [Eden -> Survivor 0 / Survivor 1] to Old Generations.

[Usually, memory space size are....Old > Eden > Survivor]

Please refer to following jvisualvm capture.


Finally, all of usage memory will be full in Old Generation,

and then, 

Major GC will work !!

-> If memory size is so big, it takes long time(s) for Major GC.


G1 Garbage Collector Logic

Shortly, there are no memory usage follow as Parallel GC.

G1GC use all Generation automatically and delete unused(garbage) memory 

Please refer to following jvisualvm capture.


As above GC part(Red Box), G1GC delete unused(garbage) memory in short time(ms).

Well, GC can be many of times but they are very short.

[G1GC could take long time for GC because of big interface data, but I think interface data should be light]


In my opinion, SOA(EAI) should transport data in real time.

So, GC time(Stop the World) should be short as G1GC.

And, I think that we do not need to wait for major GC.


Just change JAVA parameter option.

-XX:+UseParallelGC to -XX:+UseG1GC

[There are a lot of options, but I do not use that]


Many thanks~~~:)


이 블로그의 인기 게시물

우리집 인테리어 공개(광명 이편한세상 25평)

소노벨 비발디파크 맛집 바베큐단월620 "캠핑 감성"

SAP Netweaver Developer Studio with PI