[현상] 새로 지급 받은 리눅스 신규 장비에 java, tomcat 환경 구성을 하고 tomcat 구동 시 대기 상태로 빠지는 현상이 있었다. 특이한 점은 몇 분 지나면 tomcat 구동이 완료되는 경우와 몇 십 분이 지나도 서버 구동이 완료되지 않는 경우가 있다라는 것이다. 지연 현상이 발생되면서 다음과 같은 로그가 남았고, 해당 로그를 통해서 그 원인 및 해결 방법을 찾아보왔다. [2016-08-23 18:10:36 INFO o.s.w.c.ContextLoader][313] - Root WebApplicationContext: initialization completed in 2785 ms 8월 23, 2016 6:11:14 오후 org.apache.catalina.util.SessionIdGenerator createSecureRandom INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [38,251] milliseconds. [해결방법] 해결 방법은 생각보다 쉽게 찾을 수 있었다. 다음의 java 옵션을 추가해 주면 tomcat 구동 시 더이상의 대기 상태는 발생하지 않았다. JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom" 232라인 catalina.sh [원인] 해결 방법을 찾긴 했는데 왜 위의 옵션을 추가하면 지연 없이 톰켓이 구동되는지 찾아보았다. 리눅스 서버는 난수를 생성하기 위해서 기본적으로 /dev/random 디바이스를 사용한다. - 리눅스의 /dev 디렉토리는 시스템 디바이스 파일을 저장하고 있는 디렉토리이다. > 하드디스크는 /dev/sda > 씨디롬은 /dev/cdrom /dev/random은 랜덤 비트의 풀이며 Entropy pool 이라고...
댓글
댓글 쓰기