Score:6

เหตุใด `df` และ `du` จึงรายงานพื้นที่ว่างแตกต่างกันบน Ubuntu 18.04

ธง br

เหตุใดคำสั่งทั้งสองนี้จึงรายงานพื้นที่ว่างแตกต่างกันมาก สิ่งนี้เริ่มเกิดขึ้นในปีที่แล้วบน Ubuntu 18.04 VM หลายตัวเป็นครั้งคราว

ดีเอฟ รายงาน 100% ใช้ในขณะที่ ดู -smh แสดงเพียง 2.3G จาก 4.0G (ทั้งหมด) ที่ใช้งานอยู่

ซึ่งมักจะตามมาด้วย rsyslog หรือ syslog-ng เติม /var พร้อมข้อความแสดงข้อผิดพลาดเมื่อเซิร์ฟเวอร์ syslog หยุดทำงานเพื่อการบำรุงรักษา

#df -mh /var
ขนาดระบบไฟล์ที่ใช้ Avail Use% Mounted on
/dev/mapper/new_vg-var 4.0G 3.9G 0 100% /var

# ดู่ -smh /var
2.3G /var

# ฟิวเซอร์ /var
Score:8
ธง cn

ดีเอฟ สอบถามระบบไฟล์สำหรับบล็อกทั้งหมดที่ใช้ ดู man 3 statvfs บัญชีปริมาณที่รวดเร็วและแม่นยำ แต่ไม่มีรายละเอียดว่าไฟล์ใด

ดู่ วนซ้ำไฟล์และเพิ่มขนาด ช้าลง แต่สามารถพิมพ์ตามขนาดไฟล์

ความคลาดเคลื่อนอาจหมายถึงไฟล์ที่ถูกลบยังคงเปิดอยู่โดยบางโปรแกรม ไฟล์ขนาดใหญ่ดังกล่าวส่วนใหญ่เป็นบันทึกหรือฐานข้อมูล แต่อาจเป็นอะไรก็ได้


ซึ่งมักจะตามมาด้วย rsyslog หรือ syslog-ng เติม /var พร้อมข้อความแสดงข้อผิดพลาดเมื่อเซิร์ฟเวอร์ syslog หยุดทำงานเพื่อการบำรุงรักษา

สาเหตุที่แท้จริงคือการกำหนดค่าการบันทึกระยะไกลของคุณ

ระยะสั้น หมุนไฟล์บันทึกอย่างเหมาะสม เช่น เรียกใช้ เข้าสู่ระบบ สำหรับสิ่งนี้สิ่งนั้นโดยเฉพาะ. โปรดทราบว่าการกำหนดค่าทั่วไปใน /etc/logrotate.d/*syslog ส่งสัญญาณ rsyslog HUP เพื่อเปิดไฟล์บันทึกใหม่อีกครั้ง

พิจารณาเพิ่มขนาดของ /var เพื่อจัดการกับขนาดจริงของล็อกไฟล์

แก้ไขการกำหนดค่าการบันทึกเพื่อทำสิ่งที่เหมาะสมเมื่อรีโมตหยุดทำงานและเมื่อพื้นที่ดิสก์เหลือน้อย rsyslog อาจกำหนดค่าด้วย คิว ที่ใช้พื้นที่จำกัดและทิ้งข้อความในคิวเต็ม ตัวอย่างการกำหนดค่า rsyslog จากฐานความรู้ SLES จะต้องปรับแต่งสำหรับการตั้งค่าการบันทึกของคุณ:

# แมว /etc/rsyslog.d/ora_audit.conf
ถ้า ( $syslogfacility-text == 'local1' ) และ ( $syslogseverity == 4 /*warning */ ) แล้ว {
        $WorkDirectory /var/spool/rsyslog # ตำแหน่งที่จะวางสปูลไฟล์
        $ActionQueueFileName RemoteQueue # คำนำหน้าชื่อเฉพาะสำหรับสปูลไฟล์
        $ActionQueueMaxDiskSpace 1G # จำกัดพื้นที่ 1gb (ใช้เท่าที่เป็นไปได้)
        $ActionQueueSaveOnShutdown บน # บันทึกข้อความลงดิสก์เมื่อปิดเครื่อง
        $ActionQueueType LinkedList # ทำงานแบบอะซิงโครนัส
        $ActionResumeRetryCount -1 # ลองใหม่ไม่สิ้นสุดหากโฮสต์หยุดทำงาน
        $ActionQueueTimeoutEnqueue 0 # ทำให้ข้อความถูกยกเลิกทันทีหากคิวเต็ม
        *.* @@aaa.bbb.ccc.ddd:514 # IP ของเซิร์ฟเวอร์ syslog ระยะไกล:พอร์ต 514
        หยุด
}

# การตั้งค่าข้างต้นจะละทิ้งข้อความใด ๆ หากถึงขีดจำกัดขนาดคิว (ในการตั้งค่านี้ 1 GB) ทันที !
Score:6
ธง mx

สาเหตุส่วนใหญ่ที่ทำให้ df มีขนาดใหญ่กว่า du:

  • คุณไม่ได้วิ่ง ดู่ บนระบบไฟล์ทั้งหมด
    • คุณไม่มีสิทธิ์เข้าถึงไดเร็กทอรีทั้งหมด
    • คุณทำสิ่งที่ชอบ du -s /ระบบไฟล์/*และคุณไม่มี dotfiles ที่ด้านบน รีรันเป็น du -sx /ระบบไฟล์
    • (หายาก) คุณได้เงาระบบไฟล์บางส่วนของคุณด้วยการเมานต์อื่น โดยการติดตั้งด้านบน ดู่ ไม่สามารถเข้าถึงไฟล์เพื่อกำหนดขนาดได้ สามารถปรับขนาดได้โดยการเลิกต่อเชื่อมระบบไฟล์แชโดว์หรือมักจะติดตั้งลูปของระบบไฟล์ต้นฉบับ
  • คุณมีไฟล์ที่ยังเปิดอยู่ แต่ถูกลบไปแล้ว ดู่ ไม่สามารถเข้าถึงได้เพื่ออ่านอีกต่อไป แต่ก็ยังใช้พื้นที่ พยายาม lsof +aL1 /ระบบไฟล์ เพื่อค้นหาไฟล์ที่ถูกละเลยและกระบวนการที่เปิดค้างไว้ เมื่อกระบวนการปิดไฟล์ พื้นที่จะถูกปล่อย

สาเหตุส่วนใหญ่ที่ทำให้ df มีขนาดเล็กกว่า du:

  • มีระบบไฟล์เพิ่มเติมติดตั้งอยู่ภายในและของคุณ ดู่ กำลังลดหลั่นลงมาและนับที่ว่างนั้นด้วย รีรันเป็น du -sx /ระบบไฟล์

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา