Java Runtime Environment Setting, SSL/TLS, jcmd VM.native_memory
Oracle DataBase Connection Delay
a. JAVA OPTIONS
-Djava.security.egd=file:/dev/./urandom
b. $JAVA_HOME/jre/lib/security/java.security
securerandom.source=file:/dev/./urandom
GC
a. JDK6
- CMSGC
-XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSScavengeBeforeRemark -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70
-XX:+UseConcMarkSweepGC : Concurrent Mark Sweep(GC)를 사용하도록 JVM을 구성합니다.
-XX:+CMSParallelRemarkEnabled : ParNew GC와 CMS remark 단계에서 병렬 처리를 사용합니다.
-XX:+CMSScavengeBeforeRemark : CMS remark 단계 전에 young 영역 GC를 수행합니다.
-XX:+UseCMSInitiatingOccupancyOnly : 초기 사용률 임계값을 초과하면 새 영역을 할당하지 않고 CMS GC를 시작합니다.
-XX:CMSInitiatingOccupancyFraction=70 : Old 영역의 사용률이 70%에 도달하면 CMS GC를 시작합니다.
b. JDK8
- G1GC
-XX:+UseG1GC -XX:MetaspaceSize=32M -XX:MaxMetaspaceSize=128m -XX:NativeMemoryTracking=<summary/detail>
-XX:G1HeapRegionSize=<N> : 힙을 N 바이트로 분할합니다. 기본값은 1MB입니다.
-XX:MaxGCPauseMillis=<N> : GC 중단 시간의 최대값을 N 밀리초로 제한합니다. 기본값은 200ms입니다.
-XX:G1NewSizePercent=<N> : Young 영역 크기를 힙 크기의 N%로 설정합니다. 기본값은 5%입니다.
-XX:G1MaxNewSizePercent=<N> : Young 영역 크기의 최대값을 힙 크기의 N%로 설정합니다. 기본값은 60%입니다.
-XX:G1ReservePercent=<N> : 예약 된 힙 영역 크기를 힙 크기의 N%로 설정합니다. 기본값은 10%입니다.
$ jcmd [pid] VM.native_memory [detail|summary]
$ jcmd [pid] VM.native_memory [baseline|detail.diff|summary.diff]
SSL TLS Setting
a. HTTP Client
-Dhttps.protocols=<TLSv1/TLSv1.1/TLSv1.2>
b. TLS
-Djdk.tls.client.protocols=<TLSv1/TLSv1.1/TLSv1.2>
c. Debug
-Djavax.net.debug=<ssl/all>
c. SNI Extenstion
-Djsse.enableSNIExtension=<true/false>