톰켓이 스레드가 부족할 경우 아래와 같은 메세지를 출력하고 다운될 때가 있다.


심각: All threads (200) are currently busy, waiting. Increase maxThreads (200) or check the servlet status


기본적인 maxThreads가 200이므로 늘려주면된다.


Tomcat폴더/conf/server.xml 파일에서 Connector 엘리먼트에서 변경 혹은 추가한다.


<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               maxThreads="400"
               redirectPort="8443" />


참고 : http://blog.naver.com/PostView.nhn?blogId=junix&logNo=80125225673

저작자 표시
신고

'IT분야 > Server' 카테고리의 다른 글

[Server]Tomcat max thread 변경  (0) 2013.12.13
[Server]Tomcat 메모리 변경  (0) 2013.12.13
[Tomcat]tomcat get 한글 깨짐  (0) 2013.12.10
[Tomcat]PermGen space  (0) 2012.11.04
Weblogic 메모리 PermGen space 에러.  (0) 2012.11.04
[Apache+PHP+MySQL] Windows 2003 Server APM 셋팅  (0) 2010.12.20

참조 : http://blog.naver.com/PostView.nhn?blogId=junix&logNo=80125225673

Tomcat 메모리 변경


 bin/catalina.sh 파일에 아래 내용을 맨 위쪽에 추가한다.


리눅스 :  JAVA_OPTS=$JAVA_OPTS -Xms512m -Xmx1024m -XX:PermSize=128m

윈도우 : set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx1024m -XX:PermSize=128m


톰켓을 재시작한다.


저작자 표시
신고

'IT분야 > Server' 카테고리의 다른 글

[Server]Tomcat max thread 변경  (0) 2013.12.13
[Server]Tomcat 메모리 변경  (0) 2013.12.13
[Tomcat]tomcat get 한글 깨짐  (0) 2013.12.10
[Tomcat]PermGen space  (0) 2012.11.04
Weblogic 메모리 PermGen space 에러.  (0) 2012.11.04
[Apache+PHP+MySQL] Windows 2003 Server APM 셋팅  (0) 2010.12.20

참조 : http://devday.tistory.com/entry/%EC%9D%B4%ED%81%B4%EB%A6%BD%EC%8A%A4-Eclipse%EC%97%90%EC%84%9C-%ED%86%B0%EC%BA%A3-Tomcat-%EC%82%AC%EC%9A%A9-%EC%8B%9C-%ED%95%9C%EA%B8%80-GET-%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0%EA%B0%80-%EA%B9%A8%EC%A7%88-%EB%95%8C


톰켓 사용시 get 파라메터가 인코딩이 깨어질 때가 있다.

server.xml에 Connector에 옵션을 주면 된다.


아파치 등과 같이 WEB서버와 연동시에는 AJP 커넥터에도 URIEncoding을 달아준다.



<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf8" />




web.xml에 인코딩필터를 달아준다.

<filter> 
<filter-name>encodingFilter</filter-name> 
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
<init-param> 
<param-name>encoding</param-name> 
<param-value>UTF-8</param-value> 
</init-param> 
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


저작자 표시
신고

'IT분야 > Server' 카테고리의 다른 글

[Server]Tomcat max thread 변경  (0) 2013.12.13
[Server]Tomcat 메모리 변경  (0) 2013.12.13
[Tomcat]tomcat get 한글 깨짐  (0) 2013.12.10
[Tomcat]PermGen space  (0) 2012.11.04
Weblogic 메모리 PermGen space 에러.  (0) 2012.11.04
[Apache+PHP+MySQL] Windows 2003 Server APM 셋팅  (0) 2010.12.20

출처 : http://forums.eukhost.com/f33/tomcat-java-lang-outofmemoryerror-permgen-space-7675/#.UJVs8IboqQU

이클립스로 톰켓구동하여 사용하다 보면 PermGen space 에러가 날때가 있다.

메모리 사이즈를 조절해 준다. catalina.sh 파일을 수정한다.

1) vi /usr/local/jakarta/tomcat/bin/catalina.sh

2) Add following line into the catalina.sh file.

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"


저작자 표시
신고

weblogic 메모리 PermGen space 에러가 날때


Weblogic 도메인 폴더의 \bin\setDomainEnv.cmd 파일의 메모리 숫자를 변경합니다


set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256m

set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m




저작자 표시
신고

1. Apache 다운로드
  - http://apache.org/ 에 가서 아래의 왼쪽 위 HTTP Server를 찾아서 클릭.(헷갈리면 Ctrl+F로 검색해서 찾음)


  - Download를 클릭

 - 각자의 서버환경에 맞추어 다운로드. 필자는 윈도우2003 이므로 httpd-2.2.17-win32-x86-no_ssl.msi 파일을 다운받았다.
 - 클릭하여 계속 Next를 눌러주어 설치한다. 아파치를 시작하고 http://localhost 로 접속하여 화면이 뜬다면 제대로 설치된 것 이다.

2. PHP 설치
 - http://www.php.net/downloads.php 가서 ZIP형태로 된 PHP파일을 다운받는다. 따로 설치라 할건 없고 그냥 다운받아서 원하는곳에  압축을 풀어놓는 형태다. 현재날자 기준으로 5.3버전이 최신버전인데.. 필자는 아파치랑 연동이 안되서 구버전인 php-5.2.11-Win32.zip 파일을 찾아서 다운받았다.

3. MySQL 설치
  - http://www.mysql.com/downloads/mysql/ 에 가서 메뉴에서 Downloads를 클릭하고 왼쪽의 MySQL Community Server를 클릭한다.

  - 오른쪽 화면에 파일 목록이 보일것이다. 각자에 입맛에 맞게 다운하고 설치한다. root 비밀번호 셋팅하고 까먹지 마시길..

4. 연동 설정

  - 아파치폴더/conf/httpd.conf를 열어서 맨 밑줄에  아래코드를  삽입한다. 파일명을 제외한 앞쪽 경로는 각자의 환경에 맞게 셋팅하시길...
#-------------------------------------------------------------------------------------------------------------
LoadModule php5_module "C:/PHP/php5apache2_2.dll"             
AddType application/x-httpd-php .php .html
PHPIniDir "C:/PHP"

AddDefaultCharset UTF-8
#-------------------------------------------------------------------------------------------------------------
  
  - PHP폴더/php.ini-dist 파일을 복사하여 php.ini로 파일 이름을 수정하고 맽 밑줄에 다음을 추가하고 PHP폴더에서 libmysql.dll파일을 C:\windows\system32 폴더로 복사
#-------------------------------------------------------------------------------------------------------------
default_charset="utf-8"
#-------------------------------------------------------------------------------------------------------------

  - MySQL 설정.
    특별히 변경할 것은 없다. 다만 케릭터셋 변경이 필요하다면 MySQL폴더/my.ini 파일을 수정한다.
    default-character-set으로 되어 있는 부분을 찾아.. 변경/추가한다.
#-------------------------------------------------------------------------------------------------------------
  [mysql]
  default-character-set=utf8
  [mysqld]
  default-character-set=utf8
#-------------------------------------------------------------------------------------------------------------

5. 설정 확인
  - 파일을 하나 만들어서 열어본다. 아파치 홈폴더를 변경하지 않았을 경우 기본적으로 아파치폴더/htdocs가 잡히므로 거기에 만들면 된다.
#-------------------------------------------------------------------------------------------------------------
<?
phpinfo();
?>
#-------------------------------------------------------------------------------------------------------------
  위 파일을 웹브라우저에서 열어보면 php환경설정을 볼수 있다. 케릭터셋이나 디비연동등을 확인해본다.


설정 끝

저작자 표시
신고


** catalina.out 날짜별로 쌓기
cronolog를 설치해야 한다.
홈페이지는 http://cronolog.org/  에서 받아서 설치한다.
]# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
]# tar xvzf cronolog-1.6.2.tar.gz
]# cd cronolog-1.6.2
]# ./configure --prefix=/usr/local/cronolog
]# make
]# make install
]# /usr/local/cronolog/sbin/cronolog

설치후 다음 톰켓의 catalina.sh 를 편집한다.(%TOMCAT% 은 톰켓 설치 경로)
vi %TOMCAT%/bin/catalina.sh
...
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
...

부분을 아래와 같이 변경한다.(tomcat5.5기준으로 266번째 라인쯤 있다.또한 else 부분도 같이 변경해줘야 한다.)
...
org.apache.catalina.startup.Bootstrap "$@" \
start |/usr/local/cronolog/sbin/cronolog %TOMCAT%/logs/%Y-%m-%d.catalina.out >> /dev/null 2>&1 &
...

톰켓을 재구동한다.
]# shutdown.sh
]# startup.sh

저작자 표시
신고
http://openframework.or.kr/Wiki.jsp?page=MemoryCheckUsingJSP



뭐 그냥.. 메모리 사용량 나타내는 거라고 하는데..ㅎㅎ.
저작자 표시
신고

Apache와 Tomcat을 연동하기 위해서는 보통 mod_jk나 proxy_ajp 를 사용하는 두가지 방법이 있습니다.
회사에서는 mod_jk를 주로 사용합니다. 실제로 아직은 mod_jk 방법을 권장하고 있기는 합니다. 이유는 다양한 옵션이 있다는 것이죠. 하지만 mod_jk의 다양한 옵션을 사용해서 튜닝을 하는 경우가 아니라면 제가 볼때는 비슷합니다.

  1. Windows에서 mod_jk를 이용해서 Apache, Tomcat 연동하기 - Windows에서 mod_jk를 이용해서 Apache, Tomcat 연동하기
  2. Linux에서 mod_jk를 이용해서 Apache, Tomcat 연동하기 - Linux에서 mod_jk를 이용해서 Apache, Tomcat 연동하기
  3. Windows에서 proxy모듈을 이용해서 Apache, Tomcat 연동하기 - Windows에서 proxy모듈을 이용해서 Apache, Tomcat 연동하기
  4. Linux에서 proxy모듈을 이용해서 Apache, Tomcat 연동하기 - Linux에서 proxy모듈을 이용해서 Apache, Tomcat 연동하기


방법간에 차이가 크지 않지만 아무래도 방법과 OS간의 차이가 조금씩은 있어서 정리해둡니다.
mod_jk와 proxy_ajp방식의 성능차를 비교했던 자료가 있었는데 개인적인 실수로 지워져 버려 올리지 못하는건 아쉽네요. ^^

이동욱님 포스트에 있는 좋은 글이네요.


http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.30/i586/

저작자 표시
신고