cupsd utilizza la CPU al 100%, creando un log degli errori di grandi dimensioni (80 GB +)


9

Qualche giorno fa mi sono reso conto che la mia macchina Ubuntu non si sarebbe caricata dopo il login. Dopo un po 'di ricerche su un liveCD mi sono reso conto che il mio disco fisso era al 100% della capacità, quindi ho eliminato alcuni file di grandi dimensioni e sono stato in grado di accedere. Non avevo più i permessi sudo e ho dovuto avviare la modalità di ripristino e cambiare i dispositivi file, ma alla fine ha recuperato i permessi di root.

Poi ho notato che la mia macchina era un po 'lenta e topmostrava cupsd usando una CPU al 100%. Non avevo mai visto questo programma prima, ma presto mi sono reso conto che era un programma legittimo.

Ho cancellato circa 40 GB di video, solo per vedere il mio spazio su disco esaurirsi quasi istantaneamente davanti ai miei occhi. Con un po 'di ricerca e intuizione, mi sono reso conto che potrebbe essere un file di log che viene fatto saltare in aria, e sicuramente ls -lh /var/log/cups/mi ha mostrato un file error_log che era 80 GB + di dimensioni.

Ho cancellato il file sudo rm -rf /var/log/cups/error_log, ho ucciso il servizio sudo service cups ende sono andato per affari. Mi sono reso conto che sarebbe stata una buona idea controllare il contenuto di error_log prima di cancellarlo, ma volevo liberarmi di ciò prima di essere bloccato di nuovo.

È stato ieri. Oggi ho riavviato il mio laptop e ho visto cups funzionare di nuovo al 100% della CPU, e di sicuro vedo esaurire lo spazio su disco. Ho interrotto il servizio ed eseguito tail -f /var/log/cups/error_log, e ci sono milioni di righe di questo:

W [15/Jul/2015:11:23:03 -0700] Notifier for subscription 911 (dbus://) went away, retrying!
E [15/Jul/2015:11:23:03 -0700] File "/usr/lib/cups/notifier/dbus" has insecure permissions (0100777/uid=0/gid=0).

== EDIT =============================================== ==================

ls -l /usr/lib/cups/notifier/dbusmostra autorizzazioni e proprietà come -rwxrwxrwx 1 root rootquando dovrebbero essere -rwxr-xr-x 1 daemon root, come descritto nei commenti. sudo chown root:root /usr/lib/cups/notifier/dbusinoltre non ha risolto i problemi di proprietà.

Alla fine ho rimosso e reinstallato le tazze, ma senza risultati. Questi collegamenti sono stati forniti come guide potenzialmente utili ( accidentalmente chmod -R on / , ripristina i permessi chown ) ma alla fine portano a suggerire una reinstallazione del sistema operativo stesso.


Qual è l'output di ls -l /usr/lib/cups/notifier/dbus? Ho avuto un problema simile molto tempo fa e l'unico modo semplice per risolverlo era disabilitare CUPS ... (nessuna stampa allora)
Wilf

1
-rwxrwxrwx 1 root 14k 5 set 2014 / usr / lib / notifier / dbus
wndg

1
Cosa fanno comunque le tazze? Voglio dire se può essere disabilitato senza gravi ripercussioni ....
wndg,

1
Fa la maggior parte delle cose per la stampa, quindi senza di essa non è possibile stampare. Penso che le autorizzazioni sul file dovrebbero essere -rwxr-xr-x (ecco quali sono le autorizzazioni sulla mia installazione di Ubuntu 14.04) , quindi potresti essere in grado di risolvere il problema eseguendo sudo chmod 755 /usr/lib/cups/notifier/dbus(e quindi riavviando CUP o il computer).
Wilf,

1
Stampa come su carta da stampa? Le autorizzazioni ora sono -rwxr-xr-xcomunque dopo il riavvio di cupsd funziona ancora al 95% + e crea un file error_log di grandi dimensioni (ma apparentemente non così rapidamente?).
mercoledì

Risposte:


16

Per Ubuntu 15.10 quello che ha funzionato per me è stato:

sudo service cups stop
sudo rm /etc/cups/subscriptions.conf*
sudo rm -r /var/cache/cups
sudo service cups start

(Se non riesci a smettere di provare le tazze):

ps aux | grep cups

Ottieni ID processo (pid) dall'output e:

kill -9 (pid you have learned here)

2
L'ho fatto e aiuta, ma solo fino a quando non riavvio il mio PC. C'è un modo per farlo durare?
tobias_k

1

Su Debian 9

  1. utente @ macchina: sudo su

  2. root @ macchina:

chown -R root:root /usr/lib/cups/* && \
chmod -R 755 /usr/lib/cups/* && \
/etc/init.d/cups restart

ritorno:

 ok Riavvio delle tazze tramite systemctl cups.service

e salva il mio registro e la mia CPU


1

semplicemente fatto, funziona per me:

1) sudo chmod 755 /usr/lib/cups/notifier/

2) ll /usr/lib/cups/notifier/

3) sudo /etc/init.d/cups restart

fatto !!!


2
Potresti commentare cosa fa esattamente questo o perché risolve il problema?
tobias_k

0

Non riesco a commentare, quindi questo è sotto forma di una risposta:

sudo chown root:root /usr/lib/cups/notifier/dbus

potrebbe aiutare, ora che hai le autorizzazioni giuste. Chi è l'utente 1 sul tuo sistema? Se non sai come le autorizzazioni / proprietà del file sono state modificate rispetto all'impostazione predefinita, il problema potrebbe essere la punta di un iceberg. In tal caso, è consigliabile reinstallare.


Ho eseguito il comando e riavviato e nulla sembrava cambiare. Non so come scoprire chi è l'utente 1. Cosa pensi possa essere "il resto dell'iceberg" mentre lo metti ...?
mercoledì

L'utente 1 su un sistema Ubuntu appena installato è un demone. Che il tuo comando ls sia tornato -rwxrwxrwx 1 rootinvece di -rwxr-xr-x daemon rootsuggerire file di sistema corrotti o mancanti. L'utente daemon, 1, non è associato a un nome in / etc / passwd.
JEL,

Ho appena guardato / etc / passwd e l'utente 1 era un demone, ma suppongo che tu dica che il mio problema non è associato a quello. Come troverei allora l'utente 1?
mercoledì

Se l'utente 1 è demone in passwd, questo è ciò che ls dovrebbe mostrare come utente proprietario del file dbus. Hai provato a reinstallare le tazze? Assicurati di eseguire prima il backup di / etc / cups.
JEL

Modifica: id daemonmi dàuid=1(daemon) gid=1(daemon) groups=1(daemon)
wndg
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.