100%CPUを使用しているcupsdは、大きな(80GB +)error_logを作成します


9

数日前に、ログイン後にUbuntuマシンがロードされないことに気付きました。liveCDを少し調べたところ、HDDの容量が100%であることがわかったので、大きなファイルをいくつか削除してログインできました。sudo権限がなくなったため、リカバリモードで起動してsodoersを変更する必要がありました。ファイル、しかし最終的にルート権限を回復しました。

次に、自分のマシンが少し遅く、top100%CPUを使用しているcupsdを示していることに気付きました。このプログラムは今まで見たことがありませんが、まもなく合法的なプログラムであることに気付きました。

私は約40GB相当のビデオを削除しましたが、私の目の前でドライブスペースがすぐに使い果たされるのを確認しただけです。少しの調査と直感で、ログファイルが膨らんでいる可能性があることに気付き、ls -lh /var/log/cups/80 GB以上の大きさのerror_logファイルが十分にあることを確認しました。

私はファイルを削除しsudo rm -rf /var/log/cups/error_log、でサービスを終了しsudo service cups end、ビジネスを続けました。その後、削除する前にerror_logの内容を確認することをお勧めしましたが、再びロックアウトされる前に、その内容を削除したいと思いました。

あれは昨日だった。今日、私は再びラップトップを起動し、cupsdが再び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).

==編集=============================================== ==================

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ルート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、2015

1
印刷用紙のように印刷しますか?-rwxr-xr-xただし、再起動後のアクセス許可は、cupsdが95%以上で実行され、大きなerror_logファイルを作成するようになりました(ただし、一見速くないように見えますか?)。
wndg

回答:


16

Ubuntu 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 2018年

1

Debian 9の場合

  1. user @ machine: sudo su

  2. root @ machine:

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

戻る:

 ok systemctl cups.serviceを介してcupsを再起動します

ログとCPUを保存します


1

単にそれをやった、それは私のために働いています:

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

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

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

やった!


2
これが正確に何をするのか、それがなぜ問題を解決するのかコメントしてください。
tobias_k 2018年

0

私はコメントすることができないので、これは答えの形式です:

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

あなたは権限を持っているので、助けになるかもしれません。システムのユーザー1は誰ですか?ファイルの権限/所有権がデフォルトからどのように変更されたかがわからない場合、問題は氷山の一角である可能性があります。その場合は、再インストールすることをお勧めします。


コマンドを実行して再起動しましたが、何も変更されていないようです。ユーザー1が誰であるかを確認する方法がわかりません。あなたがそれを置くとき、あなたは何を「氷山の残り」とすることができると思いますか...?
wndg 2015

新しくインストールされたUbuntuシステムのユーザー1はデーモンです。lsコマンドが返さ-rwxrwxrwx 1 rootれたことは、-rwxr-xr-x daemon rootシステムファイルの破損または欠落を示唆しています。デーモンユーザー1は、/ etc / passwd内の名前に関連付けられていません。
JEL、2015

/ etc / passwdを見ただけで、ユーザー1はデーモンでしたが、私の問題はそれに関連していないと思います。次に、ユーザー1が誰であるかをどのように見つけますか?
wndg 2015

ユーザー1がpasswdのデーモンである場合、それがlsがdbusファイルを所有するユーザーとして表示するものです。カップを取り付け直してみましたか?必ず最初に/ etc / cupsをバックアップしてください。
JEL 2015

編集:id daemonuid=1(daemon) gid=1(daemon) groups=1(daemon)
Gives
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.