'WAS'에 해당되는 글 2

  1. 2010.06.26 JEUS 구조 및 메뉴얼
  2. 2009.05.19 Tomcat 에 Heap 메모리 할당하기

JEUS 구조 및 메뉴얼

   설정 파일
 노드  JEUSMain.xml
     엔진 컨테이너  
         EJB 엔진  EJBMain.xml
         Servlet(웹 컨테이너) 엔진  WEBMain.xml
             Context Group  
                 Virtual Host  
                     Context  jeus-web-dd.xml
         JMS 엔진  JMSMain.xml
         Web Server 엔진  
     JEUS Manager  

- 노드는 JEUS Manager와 여러 엔진 컨테이너의 집합체

- JEUS Manager는 노드에서 하나 밖에 없는 물리적인 구성 요소이고 부팅시에 시작점이 된다. 이것의 역할은 노드에 속한 여러 엔진 컨테이너를 관리하고 이들이 공통적으로 필요로 하는 서비스를 제공한다.
또한 엔진 컨테이너에서 공통적으로 필요로 하는 서비스를 제공한다.
JNDI 서비스, 보안(Security) 서비스, 로깅 서비스가 대표적이다.

- Context Group은 “Web Container 안의 Web Container”로 생각할 수 있다.
그 뿐만 아니라 Context Group은 복수 개의 웹 어플리케이션(컨텍스트)를 호스팅 할 수 있는 Virtual Server라고 생각할 수 있다.

- 컨텍스트는 Context Group바로 아래에 또는 Context Group내의 Virtual Host에 바로 디플로이 가능하다.
전자의 경우에는 컨텍스트가 묵시적으로 기본 Virtual Host에 속한다고 볼 수 있다.

- JEUS의 디렉토리 구조
- Context Group 디렉토리 구조
- Web Application의 디렉토리 구조

- 8.3. Web context 등록
8.3.2. Context 디렉토리 생성
8.3.3. Deployment Descriptor 파일 설정
8.3.4. Web DD 설정
8.3.10. context 등록하기
    웹 애플리케이션을 디플로이하는 방법
    여러 방법중 JEUSMain.xml에 <application>으로 context를 등록후 컨테이너를 재기동한다.
8.3.12. 등록 확인
    jeusadmin 툴 사용

- 3장. 어플리케이션 작성 및 디플로이 하기
    영구 모듈 : JEUSMain.xml의 <application> 태그에 등록되어 있는 어플리케이션

- 참고
JEUS 6 메뉴얼
JEUS 5.0 릴리즈 노트

Tomcat 에 Heap 메모리 할당하기

Q사 T시스템 사이트가 열리지 않는 경우가 발생

Tomcat 구동시 Heap 메모리를 증가시켰는데도 Hangup 현상이 계속 발생함.

# ps -efx | grep java //x 옵션을 사용해서 프로세스를 확인
root 10733     1  0  5월 15  ?         2:56 /opt/java1.5/bin/IA64N/java -Dserver.type=real -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -XdoCloseWithReadPending -Djava.endorsed.dirs=/opt/WS/tomcat/common/endorsed -classpath :/opt/WS/tomcat/bin/bootstrap.jar:/opt/WS/tomcat/bin/commons-logging-api.jar -Dcatalina.base=/opt/WS/tomcat -Dcatalina.home=/opt/WS/tomcat -Djava.io.tmpdir=/opt/WS/tomcat/temp org.apache.catalina.startup.Bootstrap start
oracle 12243 12238  0  2월 19  ?        94:04 /oracle/app/oracle/product/10g/db_1/jdk/bin/IA64N/java -server -Xmx256M -XX:MaxPermSize=96m -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -XdoCloseWithReadPending -DORACLE_HOME=/oracle/app/oracle/product/10g/db_1 -Doracle.home=/oracle/app/oracle/product/10g/db_1/oc4j -Doracle.oc4j.localhome=/oracle/app/oracle/product/10g/db_1/HOST/sysman -DEMSTATE=/oracle/app/oracle/product/10g/db_1/HOST -Doracle.j2ee.dont.use.memory.archive=true -Djava.protocol.handler.pkgs=HTTPClient -Doracle.security.jazn.config=/oracle/app/oracle/product/10g/db_1/oc4j/j2ee/OC4J_DBConsole_HOST/config/jazn.xml -Djava.security.policy=/oracle/app/oracle/product/10g/db_1/oc4j/j2ee/OC4J_DBConsole_HOST/config/java2.policy -Djava.security.properties=/oracle/app/oracle/product/10g/db_1/oc4j/j2ee/home/config/jazn.security.props -DEMDROOT=/oracle/app/oracle/product/10g/db_1/HOST -Dsysman.md5password=true -Drepapi.oracle.home=/oracle/app/oracle/product/10g/db_1 -Ddisable.checkForUpdate=true -Djava.awt.headless //이놈은 뭘까?

프로세스를 확인해보니 옵션이 적용되지 않았다.[각주:1]

catalina.sh에 CATALINA_OPTS="$CATALINA_OPTS -server -Xms1024m -Xmx2048m" 을 추가했는데도...

확인해보니 catalina.sh에서 setenv.sh을 호출하는데 거기에서 CATALINA_OPTS="-XdoCloseWithReadPending" 이러고 있다.(Tomcat 구동 쉘/배치파일 분석 참고)
윽...

setenv.sh에 설정옵션을 넣고 재구동시킴.

JAVA_OPTS="-Dserver.type=real" //real 보다는 prod가 낫지 않나?
CATALINA_OPTS="$CATALINA_OPTS -server -Xms512m -Xmx1024m -XX:MaxPermSize=256m"
umask 072 //Tomcat 루트권한으로 구동되므로 생성되는 파일을 다른 사용자도 확인가능하도록 한다.

며칠 지켜봐야 할거 같다.


  1. ps -ef 로만 확인하니깐 그렇다. 사소한 것도 확인하도록~ [본문으로]