cupsd ใช้ CPU 100% สร้าง error_log ขนาดใหญ่ (80GB +)


9

ไม่กี่วันที่ผ่านมาฉันรู้ว่าเครื่อง Ubuntu ของฉันจะไม่โหลดหลังจากเข้าสู่ระบบ หลังจากการขุดบน liveCD ฉันรู้ว่า HDD ของฉันมีความจุ 100% ดังนั้นฉันจึงลบไฟล์ขนาดใหญ่และสามารถเข้าสู่ระบบฉันไม่ได้รับอนุญาต sudo อีกต่อไปและต้องบูตเข้าสู่โหมดการกู้คืนและเปลี่ยนโซเดอร์ ไฟล์ แต่ในที่สุดก็กู้คืนสิทธิ์ราก

ฉันสังเกตเห็นว่าเครื่องของฉันค่อนข้างเชื่องช้าและtopกำลังแสดง cupsd โดยใช้ CPU 100% ฉันไม่เคยเห็นโปรแกรมนี้มาก่อน แต่ในไม่ช้าฉันก็รู้ว่ามันเป็นโปรแกรมที่ถูกกฎหมาย

ฉันลบวิดีโอมูลค่าประมาณ 40GB เท่านั้นที่จะเห็นพื้นที่ไดรฟ์ของฉันหมดลงทันทีต่อหน้าต่อตา จากการวิจัยและสัญชาตญาณเล็ก ๆ น้อย ๆ ฉันก็รู้ว่ามันอาจจะเป็นไฟล์บันทึกที่กำลังถูกเป่าและls -lh /var/log/cups/แสดงให้ฉันเห็นว่าไฟล์ error_log ที่มีขนาดใหญ่ 80GB +

ฉันลบไฟล์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 ) แต่ท้ายที่สุดแล้วพวกเขาส่งผลให้แนะนำการติดตั้งระบบปฏิบัติการใหม่


อะไรคือผลลัพธ์ของls -l /usr/lib/cups/notifier/dbus? ผมมีปัญหาที่คล้ายกันเป็นเวลานานแล้วและวิธีเดียวที่ง่ายต่อการแก้มันก็จะปิดการใช้งาน CUPS ... (ไม่พิมพ์แล้ว)
วิลฟ์

1
-rwxrwxrwx 1 ราก 14k 5 กันยายน 2014 / usr / lib / แจ้ง / 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

สำหรับ 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
ฉันทำสิ่งนี้และช่วยได้ แต่จนกว่าฉันจะรีสตาร์ทพีซี มีวิธีใดที่จะทำให้สิ่งนี้เป็นสิ่งสุดท้าย
tobias_k

1

ใน Debian 9

  1. ผู้ใช้ @ เครื่อง: sudo su

  2. ราก @ เครื่อง:

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

กลับ:

 ตกลงรีสตาร์ทถ้วยผ่าน systemctl cups.service

และบันทึกบันทึกและซีพียูของฉัน


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

0

ฉันไม่สามารถแสดงความคิดเห็นดังนั้นนี่เป็นรูปแบบของคำตอบ:

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

อาจช่วยได้ตอนนี้คุณมีสิทธิ์ที่ถูกต้อง ใครคือผู้ใช้ 1 ในระบบของคุณ? หากคุณไม่ทราบว่าสิทธิ์ / ความเป็นเจ้าของของไฟล์นั้นเปลี่ยนไปจากค่าเริ่มต้นปัญหาอาจเป็นแค่ส่วนเล็ก หากเป็นเช่นนั้นการติดตั้งใหม่จะแนะนำให้เลือก


ฉันรันคำสั่งแล้วรีสตาร์ทและดูเหมือนว่าจะไม่มีอะไรเปลี่ยนแปลง ไม่แน่ใจว่าจะรู้ได้อย่างไรว่าใครเป็นผู้ใช้ 1 คน คุณคิดว่าอะไรจะเป็น "ภูเขาน้ำแข็งที่เหลือ" ตามที่คุณวางไว้ ... ?
wndg

ผู้ใช้ 1 บนระบบ Ubuntu ที่เพิ่งติดตั้งใหม่คือ daemon ว่าคำสั่ง ls ของคุณถูกส่งกลับ-rwxrwxrwx 1 rootแทนที่จะ-rwxr-xr-x daemon rootแนะนำไฟล์ระบบที่เสียหายหรือหายไป ผู้ใช้ daemon, 1, ไม่ได้เชื่อมโยงกับชื่อใน / etc / passwd
JEL

ฉันเพิ่งดู / etc / passwd และผู้ใช้ 1 คือ daemon แต่ฉันเดาว่าปัญหาของคุณไม่เกี่ยวข้องกับสิ่งนั้น ฉันจะหาผู้ใช้ที่ 1 ได้อย่างไร
wndg

หากผู้ใช้ 1 คือ daemon ใน passwd นั่นคือสิ่งที่ ls ควรแสดงเมื่อผู้ใช้เป็นเจ้าของไฟล์ dbus คุณลองติดตั้งถ้วยอีกครั้งหรือไม่ ต้องแน่ใจว่าได้สำรอง / ฯลฯ / ถ้วยก่อน
JEL

แก้ไข: id daemonให้ฉันuid=1(daemon) gid=1(daemon) groups=1(daemon)
wndg
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.