Can't create more pipe

How can I change the maxnumber of pipes on my workstation?

I'm running an EXPECT script that is suppose to start up 32 xterms.
But after 18 opened xterm, I get this msg:

  • couldn't create pipe: too many open files

regard,

chris

When i read your mesage i think off

1) change the kernel parameter "max. processes per user"
2) change the kernel parameter "max. allowed users"

the second one goes because each Xterm = 1 user

since i do not know with taste of UNIX you use i do not know how to change.

maybe you find in the syslog more information about the reason

3) it can be a memory or swap problem

I think your problem is NOT with pipes but rather with the number of files you have open.

There are kernel parms for files, on mine it is called nfiles for "nubmer of files open". You may have a kernel parm called nflocks. Number of file locks.

You need to look at increasing your kernel parms at least double or more from the default. I had to 4X my nflocks from 1024 to 4096 on one production box that has a very large Oracle DB on it.

:wink:

Magnus,

How do I change the my Kernel parms?

//Chris

Depends on the Unix type

uabcbac

You will need to post your OS type so someone here can help you. There are many Gurus here who can offer advice on how to do that, but you must give us the OS Version and some system hardware info so that we can help you fix this.

Let me say that this MAY help fix your problem, but it may only be one part of the problem. If you have Vendor Support, I would use it. If not, go to the website of you flavor for online support site. Many versions have free online search databases.

:cool:

please post the output of
>> uname -a

we will know what type you use

Generic_105181-26 sun4u sparc SUNW, Ultra

Technical Notes
The symbolic name for this error is EMLINK, errno=31.

Too many open files
Cause
A process has too many files open at once. The system imposes a per-process soft limit on open files, OPEN_MAX (usually 64), which can be increased, and a per-process hard limit (usually 1024), which cannot be increased.

Action
You can control the soft limit from the shell. In the C shell, use the limit(1) command to increase the number of descriptors. In the Bourne or Korn shells, use the ulimit -n command to increase the number of file descriptors.

If the window system refuses to start new applications because of this error, increase the open file limit in your login shell before starting the window system.