Mac Server Admin CUPS issue with large no. of print queues

KB Home   |   Mac Server Admin CUPS issue with large no. of print queues

This page has a collection of random notes about the Server Admin cpu/lockup issue. Seems like Server Admin on Mac OS X 10.6 consumes lots of CPU when there is a large number of printers (e.g. approx 50+).

Here are some DTrace props:

Syscall count on servermgrd before opening queues (for approx. 10 seconds):

macserver0:~ root# dtrace -n syscall:::entry’/execname == “servermgrd”/{ @syscalls[probefunc] = count(); }’
dtrace: description ‘syscall:::entry’ matched 434 probes

 select                                                            1
 workq_kernreturn                                                  4
 kevent                                                            6

Not much going on

Syscall count on servermgrd immediately after opening queues (for approx. 10 seconds):

macserver0:~ root# dtrace -n syscall:::entry’/execname == “servermgrd”/{ @syscalls[probefunc] = count(); }’
dtrace: description ‘syscall:::entry’ matched 434 probes

 madvise                                                           2
 workq_kernreturn                                                  6
 kevent                                                            9
 stat64                                                           42
 symlink                                                          42
 unlink                                                           42
 listxattr                                                       105
 mmap                                                            112
 munmap                                                          112
 flock                                                           150
 lstat64                                                         210
 read                                                            294
 getattrlist                                                     315
 gettimeofday                                                    947
 connect                                                        1608
 socket                                                         1608
 close                                                          1650
 fcntl                                                          1692
 open                                                           1699
 poll                                                           4965
 setsockopt                                                     6432
 sendto                                                         9930
 geteuid                                                       12127
 recvfrom                                                      44086

Lots of writes. Why so many calls to geteuid?

Syscall count on cupsd immediately after opening queues (for approx. 10 seconds):

macserver0:~ root# dtrace -n syscall:::entry’/execname == “cupsd”/{ @syscalls[probefunc] = count(); }’
dtrace: description ‘syscall:::entry’ matched 434 probes

 __disable_threadsignal                                            1
 bsdthread_terminate                                               1
 thread_selfid                                                     1
 workq_kernreturn                                                  2
 accept                                                         2894
 close                                                          2894
 getsockname                                                    2894
 setsockopt                                                     2894
 fcntl                                                          5788
 poll                                                          12937
 recvfrom                                                      15274
 gettimeofday                                                  41612
 sendto                                                        80331
 kevent                                                      2623370

When I have some time, I’ll add some tracing in CUPS and see if I can work out what’s going on. Rant: In the meantime I hope Apple are working on this. One solution (as adopted by many large Mac sites) is to switch the CUPS server to Linux :-)


Categories: Administration


Comments

Share your findings and experience with other PaperCut users. Feel free to add comments and suggestions about this Knowledge Base article. Please don't use this for support requests.

Article last modified on February 07, 2011, at 12:04 AM
Printable View   |   Article History   |   Edit Article