Too many open files and Java out of memory


These messages indicate that a Unix Application Server does not have enough available file descriptors to proceed. 

To address such issues, you must adjust the operating system limit and the Application Server startup limit.

Linux

On Linux, adjust the ulimit settings in /etc/security/limits.conf or add a /etc/security/limits.d/<file>.conf file with the setting change.  The default per-user setting on most supported Linux distributions is 1024.  To increase the open file limit add entries as in the following example:

bladmin - nofile 65536
bladmin - nproc 65536

This example entry sets the hard and soft limits for open files to 65536 and for processes to 65536 .

After applying the change, re-login to, or reboot, the Application Server host computer and then restart the appserver process.

Note

  • For any new settings to be applied, ensure that Pluggable Authentication Modules (PAM) is set with the following configuration:session    required   pam_limits.so
  • If you cannot re-login or reboot the Application Server host computer at the current time, you can alternatively run the following command.
    ulimit -n 63536; ulimit -u 65536 
    After running this command, restart the appserver process. This will enable the configuration change to take effect until the next time that you reboot the host computer (at which time, the changes in the limits configuration file are applied).

Solaris

On a Solaris UNIX, perform the following adjustments to settings:

  1. Adjust the operating system limit for the bladmin user in the /etc/project configurations (in a similar manner to the example presented for Linux).
  2. Consider adjusting the limit for Application Server startup. By default, the open file limit is set to 8192.  If you need to go higher than this edit settings in <install_dir>/NSH/br/blappserv and <install_dir>/NSH/br/blprocserv and adjust the ulimit -n call.

After applying any changes, stop and start the appserver process and the process spawner process using the init script.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*