สถานะ systemctl แสดง:“ สถานะ: เสื่อมโทรม”


25

เมื่อฉันวิ่งsystemctl statusฉันขึ้นState: degradedไปถึงจุดสูงสุด

● x230
    State: degraded
     Jobs: 0 queued
   Failed: 1 units
    Since: Wed 2018-05-30 17:09:49 CDT; 3 days ago
  ....

เกิดอะไรขึ้นและฉันจะแก้ไขได้อย่างไร

คำตอบ:


38

นั่นหมายความว่าบริการบางอย่างของคุณไม่สามารถเริ่มต้นได้ คุณสามารถเห็นพวกเขาหากคุณทำงานsystemctl;โดยไม่มีการstatusโต้แย้ง

พวกเขาควรแสดงอะไรเช่น

loaded failed failed

หรือคุณสามารถให้บริการที่ล้มเหลวด้วยsystemctl --failedในกรณีของฉันมันแสดงให้เห็น

  UNIT                        LOAD   ACTIVE SUB    DESCRIPTION                
● postgresql@9.4-main.service loaded failed failed PostgreSQL Cluster 9.4-main

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

3

คุณอาจลอง:

sudo systemctl reset-failed

การรีเซ็ต systemd ล้มเหลวกำลังล้างหน่วยที่ล้มเหลว คุณสามารถล้างหน่วยที่ล้มเหลวออกด้วยตนเองด้วยคำสั่ง systemctl reset-failed ซึ่งสามารถทำได้สำหรับทุกหน่วยหรือหนึ่งเดียว บริการที่ไม่ต้องการอีกต่อไปดีกว่าที่จะหยุดและปิดการใช้งาน


5
บางคำอธิบายเพิ่มเติมเกี่ยวกับคำสั่งนี้จะดี ผลที่ตามมาคืออะไร? มีความเสี่ยงต่อการสูญหายของข้อมูลหรือไม่
Kusalananda

1

หากต้องการตอบคำถามดั้งเดิมให้กระชับยิ่งขึ้น:

systemctl | grep fail


3
เพื่อให้เป็นคำตอบที่แท้จริงคุณควรอธิบายสิ่งนี้และสิ่งที่พวกเขาควรจะดูในผลลัพธ์ของคำสั่งนี้ (นึกคิดกับตัวอย่าง)
Kusalananda

0

เพื่อแก้ไขฉันเริ่มบริการที่ล้มเหลวโดยใช้สิ่งที่ชอบ:

sudo systemctl restart postgresql@9.4-main.service

อย่างไรก็ตามมันไม่สามารถใช้งานกับบริการต่าง ๆ เช่น systemd-initctl.service การถอดปลั๊กและปลั๊กอินอีกครั้ง raspberry pi ใช้งานได้สำหรับฉัน แต่ฉันขอแนะนำให้ลองรีสตาร์ทบริการด้วยตนเอง

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