[cups.general] Unable to create job status pipes -Toomany openfiles.

Joost Cogels joost at versdirect.nl
Wed Mar 15 03:39:30 PST 2006



Michael Sweet wrote:
> Joost Cogels wrote:
>>
>>
>> Michael Sweet wrote:
>>> Joost Cogels wrote:
>>>> Michael Sweet wrote:
>>>>> Joost Cogels wrote:
>>>>>> Hi,
>>>>>>
>>>>>> We are currently running into problems with the cups-1.2b2-rhel4 
>>>>>> package, used in combination with Samba to provide printing 
>>>>>> services to Windows clients. CUPS seems to run fine for a while, 
>>>>>> but after a while it stops printing. The following lines can be 
>>>>>> found in /var/log/cups/error_log:
>>>>>>> E [14/Mar/2006:14:01:33 +0100] Unable to create job status pipes 
>>>>>>> - Too many open files.
>>>>>>>
>>>>>>> E [14/Mar/2006:14:03:19 +0100] Unable to open "/dev/null" - Too 
>>>>>>> many open files.
>>>>>> Any idea what could be causing the "Too many open files" errors?
>>>>>
>>>>> How many clients are connected when you see this message?
>>>> CUPS is configured for up to 100 clients. Maximum clients connected 
>>>> should be no more then about 25.
>>>>>
>>>>> How many active jobs do you have?
>>>> Active Jobs average will be about 10 per minute I guess.
>>>
>>> Um, that's a lot for such a low number of clients.  Are you sure?
>> The users are in our case the servers from which the jobs are 
>> submitted, plus a few workstations.
>>>
>>>>>
>>>>> Have you set MaxClients to any particular value in cupsd.conf?
>>>> MaxClients is not set in cupsd.conf.
>>>>>
>>>>> What does "limit" show?
>>>>>
>>>> Michael,
>>>>
>>>> At first lots of the following messages get logged:
>>>>
>>>> Started backend /usr/lib/cups/backend/socket (PID 7882) for job 68531.
>>>> Started backend /usr/lib/cups/backend/socket (PID 7883) for job 68532.
>>>>
>>>> After a while the system grinds to a halt:
>>>
>>> How many printers do you have?
>> 138
>
> OK, 138 * 10 = 1380, more than the number of file descriptors you
> have available (I'm guessing this since you didn't post your limit
> output which would show the system defined hard limit...)
How can I find out what this limit is? What I don't understand is if 
this is the case, why didn't this problem occur with the previous CUPS 
version supplied by RedHat? Only after upgrading to 1.2b2 this problem 
started.
> You'll need to do any of the following:
>
>     1. Add a FilterLimit directive with a value of 5000 (should
>        limit things to about 50 jobs printing at the same time)
With an average of about 10 jobs (total) per minute I don't think we 
will have to limit things to about 50 printing at the same time?
>
>     2. Reduce the number of printers on this server, splitting them
>        up among multiple servers.
>
>     3. Reduce the number of jobs you submit.
>
> I'm guessing that #1 will take care of things, but there is the
> potential for backlog as cupsd may not be able to keep up with
> all of the jobs (that is, it will queue them just fine, but it
> may not be able to pass them to a printer fast enough to keep
> up with new jobs coming in...)
>
> That said, if you aren't using printer drivers (just raw queues),
> then the FilterLimit stuff won't work because the limit is based
> off filter costs; perhaps we need to set the minimum cost per job
> to 100 for this?
>
We are indeed using raw queues.





More information about the cups mailing list