전체 글

전체 글

    java/lang/object

    heap dump를 분석하다 보면 항상 일정량 이상의 java/lang/object가 heap memory를 사용하고 있는 것을 확인할 수 있다. 이 java/lang/object에 대한 설명은 다음과 같다. java/lang/object => Java의 모든 클래스의 기본이 되는 클래스. 클래스 계층에서 가장 상위에 존재한다. 모든 클래스는 이 Object 클래스를 상속받아 구성되며, 그렇기에 따로 import 선언을 하지 않아도 사용이 가능하다. (참조 : http://www.incodom.kr/Java/java.lang.Object) 위 java/lang/object에는 11개의 메서드가 존재하며 예시는 다음과 같다. - clone() : 객체 자신의 복제본 반환 - equals() : 객체 자신과..

    Eclipse MAT

    heap dump 분석 툴을 기존에는 IBM HeapAnalyzer만 사용했었는데, 한계를 느껴서 Eclipse의 MAT와 함께 사용해보려고 했다. 다만 MAT의 경우 phd 파일을 디폴트의 상태로는 분석 툴을 돌릴 수가 없다는 단점이 있다. 이는 MAT에서 phd 파일을 여는 소프트웨어를 설치해주면 되는데 방법은 다음 링크를 참고했다. https://ls-altr.tistory.com/57 MAT에서 .phd 파일 여는 방법 일반적으로 .hprof 확장자를 가진 힙덤프 파일을 분석하는데 MAT(Memory Analyzer Tool)을 사용한다. .phd 파일을 열려고 하면 열수 없는 확장자라는 메시지 뜨며 진행되지 않는데, 그 경우 다음과 같이 plu ls-altr.tistory.com Heap dum..

    WebLogic SSL 에러 - PKIX Path Building Failed

    웹로직에 SSL을 추가했음에도 불구하고 로그에 다음과 같은 메시지가 나타나는 현상이 있다. Exception in thread "Main Thread" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target ... Caused by: sun.security.validator.ValidatorException: PKIX path building failed: s..

    WebLogic state Admin

    WebLogic 서버의 상태를 확인할 때, 보통 RUNNING을 두고 서버의 기동 유무를 확인하게 된다. What's ADMIN state? In the ADMIN state, WebLogic Server is up and running, but available only for administration operations, allowing you to perform server and application-level administration tasks. Read [1] to find out what you can do when a server instance is in the ADMIN state. For example, you can resume its state from the WebLogic ..

    WebLogic JDK 7에서 8로 업그레이드 후 TLS 관련

    JDK 7을 사용하는 WebLogic 10.3.6을 JDK 8을 사용하는 WebLogic 14.1.1로 업그레이드 한 이후 TLS 관련한 issue가 발생하였다. SSL은 변경된 것 없이 이전 jks 파일을 그대로 사용하나, JAVA가 업그레이드 됨에 따라 TLS1.0, TLS1.1 지원을 하지 않아서 발생한 에러로 확인된다. 이 때 다음과 같이 WebLogic 측에서 TLS를 변경/확인 할 수 있다. - ${JAVA_HOME}/jre/lib/security/java.security를 변경한다. => 반드시 jre 밑에 있는 java.security를 변경해야 되는 점 유의 jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \..

    Waiting on Condition

    고객사 중 weblogic 운영 장비에서 netstat -an 을 통해 확인해보면 100개 이상의 CLOSE_WAIT state가 잡혀 있다는 문제가 발생했다. 이에 대한 자세한 분석을 위해 thread dump를 분석하였다. 여기서 이상했던 점은 weblogic 관련 thread들이 모두 "Waiting on Condition" 상태에 있었다는 점이다. 위 현상은 weblogic이나 application에서의 문제점은 아닐 수도 있다는 접근으로 분석해보았다. Waiting on Condition은 Thread가 조건 변수(Condition Variable)에 의해 대기 중인 상태임을 의미한다. 이 상태의 thread의 경우 내부 VM의 조건 변수를 기다리고 있다. 이들은 Java 객체가 아니기 때문에 ..

    Idempotent, ConnectRetrySecs, ConnectionTimeoutSecs, WLIOTimeoutSecs

    Weblogic ~ OHS plugin parameter들에는 ConnectRetrySecs, ConnectionTimeoutSecs, WLIOTimeoutSecs 등의 시간과 관련된 유형들이 존재한다. 이들에 대한 이해 ConnectRetrySecs 테스트 !!!! 1. Application에 Thread.sleep()을 걸어보았다. 만약 이 sleep 시간이 ConnectRetrySecs와 동일하거나 적은 경우 sleep이 5초이며 ConnectRetrySecs가 5초로 동일하면 sleep 시간 이후 application이 잘 호출된다 (호출 시간 약 5초) 2. Thread.sleep() 시간이 ConnectRetrySecs 보다 큰 경우 sleep이 6초로 위의 ConnectRetrySecs 5초..

    WebLogic console 404 error

    웹로직을 기동할 때 기동 자체에는 문제가 없으나, Console URL로 접속할 때 404 에러가 나타나는 경우가 발생했다. 위 404가 뜨는 원인은 다양하겠지만, 그 중 겪은 문제에 대한 원인은 다음과 같았다. # Error log