[EMAIL PROTECTED](Herbert Xu) wrote:

>       We have an Java application here that uses around 3000 file
> descriptors at once.

> Unfortunately, the
> JVM (117) under Linux is trying to select over >1024 file descriptors, which
> is causing a core dump.

I think that it is a wrong behavior to cause a core
dump, but the limitation results from your kernel.

In /usr/include/linux/posix_types.h,

  /*
   * This allows for 1024 file descriptors: if NR_OPEN is ever grown
   * beyond that you'll have to change this too. But 1024 fd's seem to be
   * enough even for such "real" unices like OSF/1, so hopefully this is
   * one limit that doesn't have to be changed [again].
        (stuff deleted)
    #define __FD_SETSIZE        1024

and in /usr/include/linux/limits.h,

  #define NR_OPEN                256

Stuffs above limits the number of descriptors a process
and select(2) can handle. You may be able to get more
descriptors by increasing these numbers and re-compiling
your kernel.

Kazuyuki SHUDO                          Happy Hacking!
  Muraoka Lab., Grad. School of Sci. & Eng., Waseda Univ.

Reply via email to