[comp.unix.aix] file descriptor limit in AIX 3.1

schorr@ead.dsa.com (Andrew J. Schorr) (09/19/90)

We have a home-grown database system that we are currently running under
SunOS 4.0.3.  The key to this system is a database server that memory maps
a large number of files and responds to queries from the network.  Under
SunOS, this
is not a problem because memory mapping does not require a file
descriptor.  Under
AIX 3.1, however, each memory mapping requires an open file descriptor,
as I understand
it.

Our problem is that we would like to memory map more than 2000 files. 
In particular,
a number in the range of 5000 would be useful.  We would like to port
this system to
AIX, but are currently stymied by the limit of 2000 descriptors per
process.
Question: is there any way around this limit?  Ideally, a given process
would be
able to extend its limit by making a system call to extend this
resource.  However,
a kernel recompile would also be an acceptable solution.

Thanks for your help,
Andy

P.S.  I know that I could solve this problem by forking multiple
processes, but
      that approach would not be as efficient.

rudy@chukran.austin.ibm.com (09/21/90)

Memory mapping files first becomes constrained by the number of
segment registers free.  The hardware for Risc System 6000
has 16, and 6 are already tied
up when your program starts, giving you 10 files which you can map
concurrently.  This is a result of file mapping being tied to the
shmat system call which uses a new segment register.

*********************************************************************
IBM AIX Porting Center  | RSCS: CHUKRAN at AUSTIN 
11400 Burnet Rd.        | AWDnet: rudy@chukran.austin.ibm.com    
Internal ZIP 2830       | internet: chukran@austin.iinus1.ibm.com
Austin, Texas 78758     | Voice: 512-838-4674  Tieline: 678-4674
*********************************************************************