100 % CPU를 사용하여 cupsd, 큰 (80GB +) error_log 생성


9

며칠 전에 로그인 후 우분투 컴퓨터가로드되지 않는다는 것을 깨달았습니다. liveCD를 파고 들었을 때 HDD 용량이 100 %라는 것을 깨달았 기 때문에 큰 파일을 삭제하고 로그인 할 수있었습니다. 더 이상 sudo 권한이없고 복구 모드로 부팅하여 sodoers를 변경해야했습니다. 파일이지만 결국 루트 권한을 복구했습니다.

그런 다음 내 컴퓨터가 약간 느리고 top100 % CPU를 사용하여 컵을 표시 하는 것을 알았습니다 . 나는이 프로그램을 본 적이 없지만 곧 합법적 인 프로그램이라는 것을 깨달았습니다.

나는 약 40GB 상당의 비디오를 삭제했는데, 드라이브 공간이 눈앞에서 거의 즉시 고갈되는 것을 볼 수있었습니다. 약간의 연구와 직관을 통해 로그 파일이 날려 버릴 수 있음을 깨달았 ls -lh /var/log/cups/으며 80GB 이상인 error_log 파일을 충분히 보여주었습니다.

파일을 삭제하고 sudo rm -rf /var/log/cups/error_logsudo service cups end(과) 함께 서비스를 종료 한 다음 내 사업을 계속했습니다. 그 후에 error_log의 내용을 삭제하기 전에 내용을 확인하는 것이 좋습니다.하지만 다시 잠그기 전에 그 내용을 제거하고 싶었습니다.

어제였습니다. 오늘 저는 랩톱을 다시 시작하여 컵이 100 % CPU에서 다시 실행되는 것을 보았고 디스크 공간이 고갈되는 것을 볼 수있었습니다. 서비스를 중지하고 실행 tail -f /var/log/cups/error_log하면 수백만 줄이 있습니다.

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/dbus같은 쇼의 권한과 소유권 -rwxrwxrwx 1 root root그들이해야 할 때이 -rwxr-xr-x 1 daemon root같은 의견에 설명. sudo chown root:root /usr/lib/cups/notifier/dbus소유권 문제도 해결하지 못했습니다.

마지막으로 컵을 제거했다가 다시 설치했지만 아무 소용이 없습니다. 이 링크는 잠재적으로 유용한 안내서 ( 실수로 chmod -R on / , chown 권한 복원 )로 제공되었지만 궁극적으로 OS 자체의 재설치를 제안합니다.


출력은 ls -l /usr/lib/cups/notifier/dbus무엇입니까? 나는 오래 전에 비슷한 문제가 있었고 그것을 해결하는 유일한 방법은 CUPS를 비활성화하는 것이 었습니다 ... (인쇄하지 않음)
Wilf

1
-rwxrwxrwx 1 root 14k 2014 년 9 월 5 일 / usr / lib / notifier / dbus
wndg

1
어쨌든 컵은 무엇을합니까? 심각한 영향없이 비활성화 할 수 있다면 ....
wndg

1
대부분의 인쇄 작업을 수행하므로 인쇄 할 수 없습니다. 파일에 -rwxr-xr-x 대한 권한이 (Ubuntu 14.04 설치에 대한 권한) 있어야한다고 생각 하므로 실행 sudo chmod 755 /usr/lib/cups/notifier/dbus한 다음 CUP 또는 컴퓨터를 다시 시작 하여 문제를 해결할 수 있습니다 .
Wilf

1
인쇄 용지에서와 같이 인쇄 하시겠습니까? 그러나 권한은 이제 -rwxr-xr-x재시작 후에도 cupsd가 95 % 이상에서 실행되고 큰 error_log 파일을 생성합니다 (그러나 빠르지는 않습니까?).
wndg

답변:


16

우분투 15.10의 경우 나를 위해 일한 것은 다음과 같습니다.

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

(컵을 멈출 수없는 경우) :

ps aux | grep cups

출력에서 프로세스 ID (pid)를 가져오고 다음을 수행하십시오.

kill -9 (pid you have learned here)

2
나는 이것을하고 도움이되지만 PC를 다시 시작할 때까지만 도움이됩니다. 이것을 마지막으로 만드는 방법이 있습니까?
tobias_k

1

데비안 9

  1. user @ machine : sudo su

  2. root @ 컴퓨터 :

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

반환:

 ok systemctl 컵을 통한 컵 재시작

내 로그와 CPU를 저장하십시오.


1

간단히 해, 그것은 나를 위해 일하고 있습니다 :

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

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

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

했어요 !!!


2
이것이 정확히 무엇인지, 왜 문제가 해결되는지 설명해 주시겠습니까?
tobias_k

0

댓글을 달 수 없으므로 답변 형식으로되어 있습니다.

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

권한이 있으므로 이제 도움이 될 수 있습니다. 시스템의 사용자 1은 누구입니까? 파일의 권한 / 소유권이 기본값에서 어떻게 변경되었는지 모르는 경우 빙산의 일각에 문제가있을 수 있습니다. 그렇다면 다시 설치하는 것이 좋습니다.


명령을 실행하고 다시 시작했는데 아무것도 바뀌지 않는 것 같습니다. 사용자 1이 누구인지 찾는 방법을 잘 모릅니다. 빙산의 나머지 부분은 무엇이라고 생각하십니까?
wndg

새로 설치된 Ubuntu 시스템의 사용자 1은 데몬입니다. ls 명령이 시스템 파일 손상 또는 누락 -rwxrwxrwx 1 root-rwxr-xr-x daemon root제안 하는 것과 반대로 반환 되었습니다 . 데몬 사용자 1은 / etc / passwd의 이름과 관련이 없습니다.
JEL

방금 / etc / passwd를 보았고 사용자 1은 데몬이지만 내 문제가 그와 관련이 없다고 말한 것 같습니다. 그렇다면 1 번 사용자는 어떻게 찾습니까?
wndg

사용자 1이 passwd의 데몬 인 경우 dbus 파일을 소유 한 사용자로 ls를 표시해야합니다. 컵을 다시 설치해 보셨습니까? / etc / cups를 먼저 백업하십시오.
JEL

편집 : id daemon나 제공uid=1(daemon) gid=1(daemon) groups=1(daemon)
wndg
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.