프로그램 실행 중에 다음과 같은 에러가 발생하였다.
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