Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: unix - calc file descriptors

RE: unix - calc file descriptors

From: Khemmanivanh, Somckit <somckit.khemmanivanh_at_weyerhaeuser.com>
Date: Tue, 12 Jul 2005 08:02:13 -0700
Message-ID: <65C0D8935651CB4D96E97CEFAC5A12B9444842@wafedixm10.corp.weyer.pri>

YMMV on how dynamic modern Unix kernels are. RH is very dynamic, HP-UX 11.11 is not. The file descriptor table is static and you must be very careful to size it correctly or you will need to incur downtime to reset the parameter.

Thanks!
-----Original Message-----
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Mladen Gogala Sent: Tuesday, July 12, 2005 8:00 AM
To: shull_at_iheavy.com
Cc: oracle-l_at_freelists.org
Subject: 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
>details this.
>
>
>

Sean, the best document I can point you to is here: http://publib.boulder.ibm.com/infocenter/ids9help/index.jsp?topic=/com.i bm.perf.doc/perf02.htm

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.

-- 
Mladen Gogala
Oracle DBA
Ext. 121


--
http://www.freelists.org/webpage/oracle-l


--
http://www.freelists.org/webpage/oracle-l
Received on Tue Jul 12 2005 - 10:45:47 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US