rlim_fd_max Parameter

Description

Specifies the "hard" limit on file descriptors that a single process might have open. Overriding this limit requires superuser privilege.

Data Type

Signed integer

Default

65536 through Oracle Solaris 11.4 SRU 26

65535 starting with Oracle Solaris 11.4 SRU 27

Range

128 to MAXINT

Units

File descriptors

Dynamic?

No

Validation

Compared to rlim_fd_sys. If rlim_fd_max is greater than rlim_fd_sys, rlim_fd_max is reset to rlim_fd_sys

When to Change

When the maximum number of open files for a process is not enough. Other limitations in system facilities can mean that a larger number of file descriptors is not as useful as it might be. For example:

select is by default limited to 1024 descriptors per fd_set in 32-bit applications. For more information, see the select(3C) man page. A 32-bit application code can be recompiled with a larger fd_set size (less than or equal to 65,536). A 64-bit application uses an fd_set size of 65,536, which cannot be changed.

An alternative to changing this on a system wide basis is to use the plimit command. If a parent process has its limits changed by plimit, all children inherit the increased limit. This alternative is useful for daemons such as inetd.

Commitment Level

Unstable