This is a small Fedora 17 virtual machine, used as a network server for multiple printers. Unfortunately, the following keeps happening, which was never a problem on the previous one which ran something ancient like Fedora 10. $ ps u $(pgrep -f notifier/dbus) USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND lp 3101 0.0 0.0 63536 1348 ? S 10:22 0:00 /usr/lib/cups/n lp 3671 0.0 0.0 63404 1308 ? S 10:25 0:00 /usr/lib/cups/n lp 3934 0.0 0.0 63404 1308 ? S 10:26 0:00 /usr/lib/cups/n lp 6713 0.0 0.1 70004 7696 ? S 08:41 0:00 /usr/lib/cups/n lp 9981 0.0 0.0 166012 608 ? S Dec12 0:45 /usr/lib/cups/n lp 9982 0.0 2.9 326480 121384 ? S Dec12 0:27 /usr/lib/cups/n lp 9983 0.0 3.5 326480 144036 ? S Dec12 0:26 /usr/lib/cups/n lp 9985 0.0 3.1 326480 129504 ? S Dec12 0:26 /usr/lib/cups/n lp 9986 0.0 3.0 326480 125300 ? S Dec12 0:26 /usr/lib/cups/n lp 9987 0.0 3.1 326480 125804 ? S Dec12 0:26 /usr/lib/cups/n lp 9988 0.0 3.0 326480 125008 ? S Dec12 0:26 /usr/lib/cups/n lp 9989 0.0 3.0 326480 122140 ? S Dec12 0:26 /usr/lib/cups/n lp 9990 0.0 2.5 326480 104188 ? S Dec12 0:26 /usr/lib/cups/n lp 9991 0.0 3.1 326480 127384 ? S Dec12 0:26 /usr/lib/cups/n lp 9992 0.0 2.8 326480 115284 ? S Dec12 0:26 /usr/lib/cups/n lp 9993 0.0 2.9 326480 118916 ? S Dec12 0:26 /usr/lib/cups/n lp 9994 0.0 2.9 326480 120676 ? S Dec12 0:26 /usr/lib/cups/n lp 9995 0.0 2.7 326480 110460 ? S Dec12 0:27 /usr/lib/cups/n lp 9997 0.0 2.5 326480 102404 ? S Dec12 0:27 /usr/lib/cups/n lp 9998 0.0 3.5 326480 142944 ? S Dec12 0:28 /usr/lib/cups/n lp 9999 0.0 2.4 326480 101180 ? S Dec12 0:28 /usr/lib/cups/n lp 10000 0.0 3.0 326480 124364 ? S Dec12 0:28 /usr/lib/cups/n lp 10001 0.0 2.8 326480 116940 ? S Dec12 0:28 /usr/lib/cups/n lp 10002 0.0 3.0 326480 124816 ? S Dec12 0:28 /usr/lib/cups/n lp 10003 0.0 3.1 326480 126364 ? S Dec12 0:28 /usr/lib/cups/n lp 10004 0.0 2.6 326480 108204 ? S Dec12 0:28 /usr/lib/cups/n lp 10005 0.0 3.1 326480 126000 ? S Dec12 0:28 /usr/lib/cups/n lp 10006 0.0 3.8 326480 156124 ? S Dec12 0:28 /usr/lib/cups/n lp 10007 0.0 3.2 326480 130596 ? S Dec12 0:28 /usr/lib/cups/n lp 10009 0.0 3.2 326480 130432 ? S Dec12 0:28 /usr/lib/cups/n lp 10010 0.0 3.8 326480 154812 ? S Dec12 0:28 /usr/lib/cups/n lp 10011 0.0 3.2 326480 131996 ? S Dec12 0:28 /usr/lib/cups/n lp 10017 0.0 3.1 326480 127972 ? S Dec12 0:28 /usr/lib/cups/n lp 10018 0.0 3.2 326480 129928 ? S Dec12 0:28 /usr/lib/cups/n lp 10136 0.0 0.1 69872 7688 ? S 09:00 0:00 /usr/lib/cups/n lp 12159 0.0 0.1 69872 7692 ? S 09:11 0:00 /usr/lib/cups/n lp 21365 0.0 0.1 69476 7164 ? S 10:03 0:00 /usr/lib/cups/n lp 21723 0.0 0.1 69476 7164 ? S 10:12 0:00 /usr/lib/cups/n lp 25368 0.0 0.1 70268 7424 ? S 07:15 0:00 /usr/lib/cups/n lp 26683 0.0 2.9 305888 120896 ? S Dec12 0:26 /usr/lib/cups/n $ free total used free shared buffers cached Mem: 4050220 3935780 114440 0 1928 18868 -/+ buffers/cache: 3914984 135236 Swap: 4194300 4194300 0 The majority of those processes are over 16 hours old and should have expired by now, and they are wasting over 300MB per process. Moreover, we don't need them at all - is there any way to turn this "feature" off? $ rpm -q cups dbus cups-1.5.4-11.fc17.x86_64 dbus-1.4.10-7.fc17.x86_64
This isn't the fault of CUPS but of whichever process is creating these subscriptions. Are you running GNOME or KDE or some other desktop session on that machine locally? What's in /etc/cups/subscriptions.conf?
Created attachment 663659 [details] subscriptions.conf Of course I deleted the subscriptions.conf which was causing the problem, but here is what it says currently. There are ten processes running with a total VSZ of 775MB; six of them have been there since yesterday (I'm posting this at approx 16:30). The machine is running headless in runlevel 3 and doesn't have any desktop managers installed. Note that none of the users mentioned in the "Owner" lines in subscriptions.conf actually has an account on the machine.
How are the clients configured? i.e. how do they know to send print jobs to that machine?
In general they have ServerName specified in /etc/cups/client.conf. A few of the clients will instead have a printer configured in their local cups daemon with an ipp:// URI (pointing at the server) specified as the printer location.
Thanks. And are the clients running GNOME? gnome-settings-daemon's print-notifications plugin sets a notify_recipient_uri of "dbus:///" even for non-"localhost" servers, which is silly. Changing component and reassigning. Really it should poll a subscription (that has no notify_recipient_uri) using Get-Notifications, and only use a notify_recipient_uri=dbus:/// subscription to be notified about when to poll. This is what system-config-printer does (I'm fairly sure I suggested that scheme when the print-notifications plugin was first being developed). In other words, the logic should be: if cupsServer() == "localhost": sub_optimization = conn.createSubscription(notify_recipient_uri="dbus:///", ...) sub_required = conn.createSubscription(...) set_timer (60 seconds, get_notifications) if sub_optimization: set_dbus_signal_handler (..., get_notifications) And in get_notifications: n = conn.getNotifications () for event in n['events']: # deal with each event from the getNotifications response set_timer (n['notify-get-interval'], get_notifications) So the actual events would be fetched from the IPP response, and the D-Bus signal would just be a clue to fetch notifications. Of course, you can choose which events will trigger D-Bus signals to match the ones you're interested in.
OK. It's a fair guess that most clients would run GNOME, yes. I think I have now succeeded in fixing this on the server anyway, by implementing a policy which denies non-local subscription requests.
This message is a reminder that Fedora 17 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 17. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '17'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 17's end of life. Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 17 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior to Fedora 17's end of life. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
gnome-settings-daemon-3.8.4-2.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/gnome-settings-daemon-3.8.4-2.fc19
Package gnome-settings-daemon-3.8.4-2.fc19: * should fix your issue, * was pushed to the Fedora 19 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing gnome-settings-daemon-3.8.4-2.fc19' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-14394/gnome-settings-daemon-3.8.4-2.fc19 then log in and leave karma (feedback).
gnome-settings-daemon-3.8.4-2.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.