Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

AIX File Descriptor limitation???

342 views
Skip to first unread message

Timasmith

unread,
Jan 30, 2007, 8:49:33 AM1/30/07
to
Hi,

Someone described to me that using pipes for an application is very
bad and not scalable at all.

They said that AIX has a limit of 1024 (or something close) file
descriptors and while any file is open a descriptor is used, such that
you can only have 1024 files open at once.

They said that just the existence of a pipe alone is enough to use up
a file descriptor - and so competing with the number of files that can
be open.

It seems a little incredulous to me that only a relatively small
number of files can be opened at once, or even that a relativelty
small number of pipes can be used.

Can anyone confirm or deny?

Mark Taylor

unread,
Jan 30, 2007, 10:33:01 AM1/30/07
to
This is AIX 5.3 btw...

$ grep OPEN_MAX /usr/include/sys/limits.h
#define OPEN_MAX 65534 /* max num of files per process */

HTH
Mark Taylor

Mark Taylor

unread,
Jan 30, 2007, 10:35:44 AM1/30/07
to
there is also a ulimit on the user level "nofiles" which defaults to
2000, you can of course increase this ..

Rgds
Mark Taylor

Timasmith

unread,
Jan 30, 2007, 3:21:34 PM1/30/07
to
> > Can anyone confirm or deny?- Hide quoted text -
>
> - Show quoted text -

is that per PROCESS?? so you could have 10 processes, each with 50,000
file descriptors open (in theory?)

Gary R. Hook

unread,
Jan 30, 2007, 3:32:49 PM1/30/07
to
Timasmith wrote:
> On Jan 30, 10:33 am, "Mark Taylor" <m...@talk21.com> wrote:
>> This is AIX 5.3 btw...
>>
>> $ grep OPEN_MAX /usr/include/sys/limits.h
>> #define OPEN_MAX 65534 /* max num of files per process */
>>
> is that per PROCESS?? so you could have 10 processes, each with 50,000
> file descriptors open (in theory?)
>

There's a system-wide limit as well, but it's very large.

Essentially, you were misinformed. The practical limit is
quite high, is indeed per-process.

Lőrinczy Zsigmond

unread,
Jan 30, 2007, 11:22:17 PM1/30/07
to
Timasmith wrote:
> Hi,
>
> Someone described to me that using pipes for an application is very
> bad and not scalable at all.
>
> They said that AIX has a limit of 1024 (or something close) file
> descriptors and while any file is open a descriptor is used, such that
> you can only have 1024 files open at once.

When we had similiar problem, we found a way to set the limit (somewhere
in smitty, I don't remember), but only for all users globally
unlike linux where you can set different limits for different users.

Mark Taylor

unread,
Jan 31, 2007, 3:35:36 AM1/31/07
to
> is that per PROCESS?? so you could have 10 processes, each with 50,000
> file descriptors open (in theory?)

yup .. the system wide limit I am assuming is based on the number of
process slots in the proc table ?

$ grep PROCSHIFT /usr/include/sys/proc.h
#define PROCSHIFT 18 /* number of bits in proc index */

2^18==262144
262144*65534==17179344896

Although, somthing else will probably break before you hit this
limit :)

Gary might know .. has this limit been reached/tested in dev or is it
theoretical based on the architecture ? or is the supported limit the
actual number reached/tested in dev ?

Rgds
Mark Taylor

ColombianJoker

unread,
Jan 31, 2007, 7:42:57 AM1/31/07
to
AIX has *per user* limits, you can look at them in /etc/security/
limits, and these are changeable with "chuser".

Gary R. Hook

unread,
Feb 2, 2007, 2:10:51 PM2/2/07
to
Mark Taylor wrote:
>> is that per PROCESS?? so you could have 10 processes, each with 50,000
>> file descriptors open (in theory?)
>
> yup .. the system wide limit I am assuming is based on the number of
> process slots in the proc table ?
>

I don't know what the system-wide limit is any more (it was 1 M in
AIX 4.3.1). Whatever it is, I'm sure that some testing has taking
place, and that the upper limit is by design with attention to
scalability.

Mark Taylor

unread,
Feb 3, 2007, 9:57:11 AM2/3/07
to
> I don't know what the system-wide limit is any more (it was 1 M in
> AIX 4.3.1). Whatever it is, I'm sure that some testing has taking
> place, and that the upper limit is by design with attention to
> scalability.

Thanks for your response..

0 new messages