Tag Archives: catalina

Tomcat 무분별하게 catalina.out 크기 커지는것 막기

Tomcat의 로그를 보다보니 날짜별로 로그 파일을 나누어 쌓고 있음과 동시에 catalina.out이라는 파일에도 중복하여 로그를 쌓는것을 알수 있다.

이 파일은 끝없이 커지는데 관리상 좋지 못한것은 자명한 일이다. 이 문제를 해결하기 위해 catalina.sh 파일을 수정한다.

start 부분을 찾아 다음과 같이 수정하자.

[code]elif [ “$1” = “start” ] ; then
    shift
#  touch “$CATALINA_BASE”/logs/catalina.out
  if [ “$1” = “-security” ] ; then
    echo “Using Security Manager”
    shift
    “$_RUNJAVA” $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs=”$JAVA_ENDORSED_DIRS” -classpath “$CLASSPATH” \
      -Djava.security.manager \
      -Djava.security.policy==”$CATALINA_BASE”/conf/catalina.policy \
      -Dcatalina.base=”$CATALINA_BASE” \
      -Dcatalina.home=”$CATALINA_HOME” \
      -Djava.io.tmpdir=”$CATALINA_TMPDIR” \
      org.apache.catalina.startup.Bootstrap “$@” start \
      >> /dev/null 2>&1 &
#      >> “$CATALINA_BASE”/logs/catalina.out 2>&1 &

      if [ ! -z “$CATALINA_PID” ]; then
        echo $! > $CATALINA_PID
      fi
  else
    “$_RUNJAVA” $JAVA_OPTS $CATALINA_OPTS \
      -Djava.endorsed.dirs=”$JAVA_ENDORSED_DIRS” -classpath “$CLASSPATH” \
      -Dcatalina.base=”$CATALINA_BASE” \
      -Dcatalina.home=”$CATALINA_HOME” \
      -Djava.io.tmpdir=”$CATALINA_TMPDIR” \
      org.apache.catalina.startup.Bootstrap “$@” start \
      >> /dev/null 2>&1 &
#      >> “$CATALINA_BASE”/logs/catalina.out 2>&1 &

      if [ ! -z “$CATALINA_PID” ]; then
        echo $! > $CATALINA_PID
      fi
  fi[/code]
* 추가 – 더 편한 방법
언제 부터인가 위의 설정이 >> “$CATALINA_OUT” 2>&1 &와 같이 바뀌었습니다.
/etc/profile에 다음을 추가하셔도 한방에 해결됩니다.
[code]export CATALINA_OUT=”/dev/null”[/code]

톰캣의 메모리 확장

SI 구조에서는 외면을 받고 있는 톰캣이지만 거듭되는 버젼업을 통해 단점을 많이 개선했다고 생각한다.

물론 사용이나 관리상의 이점이 다른 사용 WAS에 비하면 아무것도 없다(?)는게 큰 단점이긴 하다.

많은 사용자의 접속이나 꽤 무거운 프로세스중에 가끔씩 Out of Memory를 만날 수 있다.

요즘 서버는 메모리가 큰 편이니 톰캣에게 많은 메모리를 할당해 주어도 괜찮을것이다.

/etc/profile 에 다음과 같은 내용을 추가한다.

무리한 감이 있지만 현재 램 2기가의 실무 서버에 설정하여 사용하고 있으며 아무런 문제없이 사용중인 설정이다.

[code]export JAVA_OPTS=”-Xms256m -Xmx1024m -XX:MaxPermSize=128m”[/code]

이후 톰캣을 재시작하면 JAVA_OPTS의 설정 내용을 추가적으로 읽는다.