out of memory 문제
초코초코해
제가 개인적으로 사설서버를 운영하고 있는데
동시접속자수가 180명일때에는 무난히 잘돌아가다가 200명때부터는
out of memory 뜨면서 나비켓의 더이상 메소드를 생성할수 없습니다.
문구 주르르 뜨면서 서버가 죽는 현상이 발생하네요.
OS Win 2003
RAM 4G
입니다. 절대 부족하지 안는 메모리인대 어떻게해야 할지 막막하네요 ㅠ..ㅠ
-
겨슬
ㅎㄷㄷ 뭐가먼지 모르겠다는;;
-
꽃바라기슬아
사용하고 계신 java 버전이 5.0 이시면 jdk 내부에 포함되어 있는 jconsole 을 이용해서 메모리 상태와 스레드 상태를 한번 모니터링 해보세요.
서버를 직접 쓰고 계시니까 서버의 로컬 console 창에서 jconsole 실행하시면 jconsole 창이 열리니까.
메모리와 스레드 부분을 관찰해 보시면서 특정 스레드가 늘어 나가만 하는것이 없는지 확인해 보시구요.
문제가 없다면 위에 진수다님이 적어주신데로 -xms -xmx 옵션으로 사용 메모리 -
혁민
혹시 ;; 인원당 Thread를 만들어 쓰시는지요?? ;;
그렇다면 덜덜덜.. -
맺음새
200명이 접속하더라도 기본설정에서 메모리 에러가 나는것은 의심이 갑니다. 가비지 컬렉터가 제대로 역할을 못했다는것인데...
가장 의심되는것은 파일업로드 컴포넌트입니다. (예전에 파일업로드 컴포넌트 만들다가 그런 경험이 있습니다. apache-common-upload를 넘어서는 업로드를 만들어보려했는데 결과는...)
두번째로는 서블릿을 스레드 세이프하게 설계하지 않은 경우 입니다. 이 경우에 적절하게 가비지 컬렉팅 되야 하는데 컬렉팅 되지 못해서 계속 -
로지
덤프를 떠보지 않는 이상 정말로 메모리가 부족한 것인지 아니면 접속자들에게 할당된 메모리가 회수되지 않는것인지 알길이 없습니다. 이클립스에서 tptp 라도 이용하시면 어디서 메모리를 많이 쓰는지 알 수 있는데...
-
살랑살랑
윈도우즈에서
Edit the file $TOMCAT_HOME\\bin\\ startup.bat and insert or alter the following line, substituting for the desired values:
set CATALINA_OPTS=-Xms(min heap)m -Xmx(max heap)m
For example if you want to allocate a minimum heap size of 256MB and a -
뽀대미녀
200명 이상이 접속해야 에러가 발생하는것보니 jvm메모리를 좀더 크게 할당해보시는게 좋은 방편일것
같습니다. -
UniQue
음 그런것인가요 ??
그런대 반환을 제대로 못한다면 180명일때에 24시간 켜놔도 문제가 없어요만약 반환을 재대로 못한다면
장시간 켜놓으면 이와같은 현상이 일어나야 하는데 그런건 현재 발견되지 않아구
꼭 200명 이상 접속시 이런 현상이 발생하네요 -
슬찬
쓰레드라고 하여도.. 무한정 생성될수는 없는 것으로 알고 있는데..
(정확한지는.. 모르겠습니다.)
쓰레드의 반환은 제대로 이루어지고 있는건지요?? 반환이 제대로 되지 않아서...
더이상 쓰레드가 생성이 되지 않는것일수도 ㅡ_ ㅡㅋ