unix file descriptors limit on 32 bit operating systems – for the new oracle dba career





a new oracle dba can find here information about file descriptor limits on a unix operating system.

Standard Input & Output (STDIO) limits the number of file descriptors to 256 in a 32-bit application. [ID 1018889.1]  

 
Modified 29-SEP-2009     Type HOWTO     Migrated ID 230700     Status PUBLISHED  

Description
Even when the file descriptor limit is set beyond 256 (i.e. via limit or ulimit on the shell), the maximum number of file pointers that can be opened by STDIO functions (for instance fopen(), fdopen(), and popen()) is still limited to 256 in a 32-bit application. File descriptor numbers range from 0 to 255.

Steps to Follow
The Application Binary Interface (ABI) definition of the FILE structure defines the field that indicates the file descriptor associated with the stream (_file).  In the  32-bit version of the ABI this is defined as an unsigned char, limiting the file streams to file descriptors 0-255.  This limit will remain unless the ABI changes.  It is also discussed in the stdio(3S) manual page.

For 64-bit applications, there is no such limit.  The maximum file descriptor number is the biggest signed integer (a 32bit quantity with a value over 2,000,000,000).
By default, descriptors 0, 1, and 2 are reserved for standard input (stdin), standard output (stdout), and standard error (stderr), respectively.

Author: admin