프로그램 실행 중에 다음과 같은 에러가 발생하였다.

java.lang.OutOfMemoryError: unable to create new native thread

메모리가 부족하다고 판단하여 자바의 힙 크기를 증가시켰더니 상황은 더 악화되었다.

문제는 JVM에 할당된 메모리 크기의 문제가 아니라,

자바 쓰레드 생성 시 매핑되는 윈도우 시스템 쓰레드의 생성에 따른

시스템 메모리 부족으로 인해 발생했다.

자바의 힙 크기 증가가 상황을 악화시킨 이유는

당연히 JVM에 할당한 메모리만큼 시스템 메모리가 줄어들었기 때문이다.

다음 문서들을 참고하기 바란다.

Reference:
http://jroller.com/rreyelts/date/20040909
http://www.egilh.com/blog/archive/2006/06/09/2811.aspx

Posted by 알 수 없는 사용자
,