분류 전체보기 399

[트러블슈팅] 자주 발생하는 Full GC

(원문) https://poonamparhar.github.io/frequent_full_gc/ Java 애플리케이션의 최적 성능은 빈번한 전체 가비지 수집 주기로 인해 심각하게 방해받을 수 있습니다. 이 게시물에서는 반복되는 Full GC로 이어질 수 있는 몇 가지 상황과 이를 인식하고 처리하는 방법에 대해 설명합니다. 전체 GC가 자주 발생하는 주요 원인 중 하나는 애플리케이션의 JVM 관리 메모리 공간이 잘못 구성되었기 때문입니다. Java 힙의 크기가 Java 객체의 라이브 세트보다 작거나 Metaspace가 너무 작게 구성되었을 수 있습니다. Misconfiguration of Memory Spaces Java 힙, 특히 이전 세대의 사용률과 Metaspace를 모니터링하여 이러한 공간에 대한 ..

[예제] WebLogic Server와 Coherence*Web 시작하기

(원문) https://coherencedownunder.wordpress.com/2014/05/24/getting-started-with-coherenceweb-in-weblogic-server-12-1-2/ 1. 소개 Coherence*Web은 HTTP 세션을 Coherence 클러스터에 저장할 수 있는 기능입니다. WebApp를 실행 중인 JVM에서 HTTP 세션을 분리하고(JVM 메모리를 확보할 수 있음), Coherence의 RASP(신뢰성, 가용성, 확장성 및 성능) 기능을 활용할 수 있습니다. 이러한 분리를 통해 HTTP 세션 계층을 보다 쉽게 확장 및 관리할 수 있을 뿐만 아니라 Coherence*Web이 제공하는 다양한 세션 관리 옵션을 활용할 수 있습니다. 여기서 보여드리고 싶은 것은 ..

코히어런스 2023.03.13

[정보] JVM 아키텍처

(원문) https://dzone.com/articles/jvm-architecture-explained 모든 Java 개발자는 바이트코드가 JRE(Java Runtime Environment)에 의해 실행된다는 것을 알고 있습니다. 그러나 많은 사람들이 JRE가 바이트코드를 분석하고 코드를 해석하고 실행하는 JVM(Java Virtual Machine)의 구현이라는 사실을 모르고 있습니다. 코드를 보다 효율적으로 작성할 수 있게 해주는 JVM의 아키텍처를 아는 것은 개발자로서 매우 중요합니다. 이 기사에서는 Java의 JVM 아키텍처와 JVM의 다양한 구성 요소에 대해 자세히 알아볼 것입니다. 1. JVM 이란? VM은 물리적 머신의 소프트웨어 구현입니다. Java는 VM에서 실행되는 WORA(Writ..

[툴] 이클립스 MAT(Memory Analyzer)

(다운로드) http://www.eclipse.org/mat/ (매뉴얼) https://www.eclipse.org/mat/documentation/ (동영상) https://vimeo.com/21356498 MAT 실행 시에 MemoryAnalyzer.ini 파일에서 Heap 크기를 여유있게 설정 후에 실행해야 합니다. 문서는 아래 URL을 참고하여 작성한 내용입니다. (참고URL) https://help.eclipse.org/latest/index.jsp?topic=/org.eclipse.mat.ui.help/welcome.html 1. 힙덤프 파일 열기 "File > Open Heap Dump... " 메뉴를 통해 힙덤프 파일을 오픈합니다. 오른쪽에는 덤프의 크기와 클래스, 객체 및 클래스 로더의 ..

[요약] Coherence 클러스터 멤버 기동/종료 하기

1. 캐시 서버 시작 캐시 서버(com.tangsol.net.DefaultCacheServer)는 캐시된 데이터 저장을 담당하는 클러스터 구성원입니다. 명령어 또는 프로그래밍 방식으로 기동할 수 있습니다. Java -cp옵션을 사용하여 coherence.jar 보다 먼저 클래스 패스를 설정함으로서 COHERENCE_HOME/config에 있는 tangosol-coherence-override.xml과 coherence-cache-config.xml 파일을 오버라이딩 할 수 있도록 합니다. java -server -Xms512m -Xmx512m -cp COHERENCE_HOME\config;COHERENCE_HOME\lib\coherence.jar com.tangosol.net.DefaultCacheSer..

코히어런스 2023.03.11

[정보] 힙덤프(HeapDump) 이해

1. 힙 덤프(Heap Dump) 란? 클래스의 인스턴스를 생성하여 Java 객체를 생성할 때마다 항상 힙이라는 영역에 배치됩니다. Java 런타임의 클래스도 이 힙에서 생성됩니다. JVM이 시작될 때 힙이 생성됩니다. 애플리케이션에서 생성되거나 소멸된 개체를 수용하기 위해 런타임 동안 확장되거나 축소됩니다. 힙이 가득 차면 더 이상 참조되지 않는(즉, 더 이상 사용되지 않는) 개체를 수집하기 위해 가비지 수집 프로세스(Garbage Collector Process)가 실행됩니다. 힙 덤프에는 Java 힙에서 실행 중인 Java 애플리케이션이 사용 중인 모든 활성 객체(Objects)의 스냅샷이 포함됩니다. 주소, 유형, 클래스 이름 또는 크기와 같은 각 개체 인스턴스에 대한 자세한 정보와 인스턴스에 다..

[Tips] Java에서 -XX:+PrintFlagsFinal 옵션

JVM에서 사용하는 기본 옵션을 알고 싶다면 "-XX:+PrintFlagsFinal" 옵션을 사용하여 출력할 수 있습니다. 예) java -XX:+PrintFlagsFinal -version [Global flags] int ActiveProcessorCount = -1 {product} {default} uintx AdaptiveSizeDecrementScaleFactor = 4 {product} {default} uintx AdaptiveSizeMajorGCDecayTimeScale = 10 {product} {default} uintx AdaptiveSizePolicyCollectionCostMargin = 50 {product} {default} uintx AdaptiveSizePolicyInit..

[Tips] 스레드 덤프 분석 툴/사이트

1. ThreadLogic (다운로드) https://github.com/sparameswaran/threadlogic/releases (실행예시) $ java -jar ThreadLogic-2.5.2.jar 2. IBM Thread and Monitor Dump Analyzer for Java (TMDA) (다운로드) https://www.ibm.com/support/pages/ibm-thread-and-monitor-dump-analyzer-java-tmda (실행예시) $ java -jar jca4614.jar 3. Fast Thread (사이트) https://fastthread.io (실행예시) 스레드 덤프 파일 업로드 후 분석

[요약] Coherence 구성파일

1. 기본 구성 파일 - cluster와 cache 설정 기본 구성파일은 핵심 라이브러리인 coherence.jar 파일에 포함되어 있습니다. (cluster config) tangsol-coherence.xml (cache config) coherence-cache-config.xml 참고로, tangsol-coherence-overide-(dev|eval|prod).xml 도 존재함 (log level이 다름) 2. 오버라이드 구성 파일 구성파일은 coherence.jar에 포함되어 있는 기본 구성파일을 편집하지 말고 오버라이드하여 사용할 것을 권장합니다. 오버라이드 파일을 생성한 후, 아래와 같이 Java define으로 정의하여 오버라이드 합니다. java ... -Dtangsol.coherenc..

코히어런스 2023.03.10

[요약] Coherence 설치

1. 다운로드 https://www.oracle.com/middleware/technologies/coherence-downloads.html 4가지 설치 모듈 1) WebLogic Server and Coherence Install (설치파일 : fmw_version_wls.jar) : Coherence가 포함된 전체 WebLogic Server 설치 2) Coherence Stand-Alone Install (설치파일 : fmw_version_coherence.jar) : 그래픽 모드 또는 Silent 모드에서 실행할 수 있는 전체 Coherence 설치 3) Coherence Quick Install (설치파일 : fmw_version_coherence_quick.jar) - Silent 모드에서만..

코히어런스 2023.03.10