Sun Java System Application Server Platform Edition 8.2 릴리스 노트

Selector.select()IOException을 발생시켜 Application Server가 시작되지 않음(아이디 6322825)

현재 JDK 코드에서 /dev/poll 선택기는 사용할 8192 pollfd 항목 배열을 할당합니다. 이 값이 nofiles ulimit을 초과하여 "잘못된 인수" 오류가 발생하고 실패합니다. 그러면 selector.select()가 손상되기 때문에 시작하는 동안 MQ에 연결하는 Application Server 소켓 서비스가 실패하고 IOException이 발생합니다.

해결 방법

pollfd 파일 설명자 제한을 늘립니다. 이 작업은 다음과 같은 두 가지 방법으로 수행할 수 있습니다.

  1. 쉘에서 ulimit -n 8193을 루트로 실행합니다.

  2. 파일 설명자 수에 대한 하드 제한을 8193 이상으로 늘립니다.

    1. ulimit -n -H를 사용하여 하드 제한을 확인합니다.

    2. 8193보다 작을 경우 /etc/system을 편집하여 set rlim_fd_max=8193 명령을 추가합니다.

    3. 시스템을 재부트합니다.