Re: unix - calc file descriptors
Sean Hull wrote:
>I'm wondering how to calculate the number of file descriptors Oracle will
>use on Unix. Obviously there will be one file descriptor for each file,
>and for each socket (connection through listener). How about for IPC
>connections? How about for Oracle processes (oracle executable file)?
>I'm assuming device files aren't counted, as the OS or root user has those
>mounted & open.
>Perhaps someone could point me to a document, or metalink reference which
Sean, the best document I can point you to is here:
Be warned, this is the publication about tuning the Great Enemy of
Oracle Corp, the UDB (DB2) database.
On modern Unix boxes, the file descriptor table is dynamic and the
number of file descriptors is set
per process, with setrusage based mechanisms and configuration files
(/etc/security/limits.conf on RH Linux)
My experience is that if I set it to 2048 file descriptors per process,
it will not create any problems for me.
Kernel file descriptor table is dynamic and, normally, you can not limit
it. Per process descriptor table is
a table of pointers, which contain integer offset to the system open
inode table (each file is an inode). So, if you
set 2048 open file descriptors per process on a 64 bit machine you will
increase the address space for 8kb.
On a database server which typically has memory measured in gigabytes,
8k per process is not worth mentioning.
May the force be with you.