On Solaris you can set this parameter to be a hard or soft limit system-wide OR you can do the same for a specific application so that it has the correct number of open file descriptors in its run-time space.
To make it a system-wide change, edit
/etc/system with following entries
# Hard limit on file descriptors for single process
set rlim_fd_max = 4096
# Soft limit on the file descriptors for a single process
set rlim_fd_cur = 1024
NOTE: without setting
rlim_fd_max as shown above, the default value for file descriptors or nofiles is half of the
rlim_fd_cur value. So, it's best to set them both.
If you are using a Solaris project for an application space like Oracle Database, you can set the max file descriptors in the project by:
projadd -U oracle -K “process.max-file-descriptor=(priv,4096,deny)” user.oracle
Additionally, you can set it using
ulimit directly in an application's owner's shell startup file. For example, it is possible to establish max file descriptors by setting
ulimit in the
.profile of the web server's owner to
ulimit -s 32768 and calling that from the startup/shutdown script.
As you can see there are lots of options and ways of doing this.