Notas de la versión de Sun Java System Application Server Platform Edition 8.2

Selector.select() genera una excepción IOException, lo que provoca un fallo en el inicio de App Server. (Id. 6322825)

En el código actual de JDK, el selector /dev/poll asigna una matriz de 8192 entradas de pollfd para su uso por parte de éste. Esto supera el límite nofiles ulimit, lo que provoca que falle con el error "argumento no válido". Además, a su vez, esta error provoca que el servicio de socket de App Server que se conecta a MQ durante el inicio falle con la excepción IOException debido a que se ha roto selector.select() .

Solución

Aumente el límite de descriptores del archivo pollfd. Puede realizar esta tarea de dos formas:

  1. Ejecute ulimit -n 8193 en el shell como root.

  2. Aumente el límite fijo de número de descriptores de archivo a 8193 o un valor superior:

    1. Compruebe el límite fijo con ulimit -n -H.

    2. Si es inferior a 8193, edite /etc/system agregando el comando set rlim_fd_max=8193.

    3. Reinicie el equipo.