File descriptors are inherently per-process; a system-wide limit
would be meaningless, as there is no system-wide table of file descriptors,
but rather one table per process.  You already know about rlim_fd_max;
there's also rlim_fd_cur for the default soft limit.  That's all there is.

Every unique open of a file generates a file pointer table entry;
those are shared among file descriptors created by dup(2) or
fcntl(2), or by processes that inherit an open file descriptor.
File descriptors refer to file pointer table entries.

All opens of the same file share a single vnode table entry.
The vnode in turn probably refers to filesystem-specific inode data.

So file descriptor -> file table entry -> vnode table entry -> 
filesystem-specific data

The limits on file pointer table size and vnode table size are dynamic,
and as far as I know, there is nothing to set.  The limits on 
filesystem-specific
data may be tunable, see

http://docs.sun.com/app/docs/doc/819-2724?l=en

for more information.
-- 
This message posted from opensolaris.org
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to