Troubleshooting Common Problems
Page 3 of 4

I/O Errors on Solaris

Customers running Cloudscape on Sun Solaris sometimes experience I/O errors from Cloudscape on Solaris. The cause seems to be an inadequate allocation of file descriptors. Apparently the default is 64 file descriptors per process, and this is inadequate for any software, such as Cloudscape, that needs to open a large number of files.

The definitive information on changing this resource is in the Sun System Administration Guide for Solaris, but there are some things any user can do to adjust this limit temporarily from the command line without having root privileges. These measures involve the limit command, which differs slightly from shell to shell. Please see the "limit" man page (in the Solaris commands reference manual) for more information.

The following commands can be used from the C shell (csh) to change the number of file descriptors allowed in the current shell. (In each example, the "%" is the C shell's command prompt.)

  1. Use the limit command to find the current value:

    % limit descriptors

    descriptors 64

    (64 file descriptors per process is almost certainly not enough for any serious Java work.)

  2. Use the unlimit command (csh) to remove the descriptor limit for the current process, then repeat the limit command to see that the number of descriptors has increased.

    % unlimit descriptors

    % limit descriptors

    descriptors 1024