เรามีระบบไฟล์ขนาดใหญ่ที่du
สรุปเต็ม(การใช้งานดิสก์) ใช้เวลาเกินสองนาที ฉันต้องการหาวิธีเพิ่มความเร็วสรุปการใช้ดิสก์สำหรับไดเรกทอรีที่กำหนดเองในระบบไฟล์นั้น
สำหรับสาขาเล็ก ๆ ฉันสังเกตว่าdu
ผลลัพธ์ดูเหมือนจะถูกแคชอย่างใดเนื่องจากคำขอซ้ำ ๆ นั้นเร็วกว่ามาก แต่ในสาขาขนาดใหญ่ความเร็วเพิ่มขึ้นเล็กน้อย
มีวิธีการเร่งความเร็วที่ง่ายขึ้นdu
หรือมีการแคชผลการค้นหาสาขาที่ไม่ได้ทำการแก้ไขอย่างจริงจังตั้งแต่การค้นหาครั้งก่อนหรือไม่
หรือมีคำสั่งอื่นที่สามารถส่งข้อมูลสรุปการใช้ดิสก์ได้เร็วขึ้นหรือไม่
du
ไม่ดี แต่สคริปต์ตัวห่อหุ้มที่เร็วขึ้นด้วยอินเทอร์เฟซที่เหมือนกันจะมีประโยชน์มากสำหรับเรา เพิ่มเติมฉันคาดหวังว่าผลการแคชขึ้นอยู่กับเวลาที่แก้ไขครั้งล่าสุด (และสมมติว่าไม่มีการดำเนินการทั้งดิสก์เช่นการจัดเรียงข้อมูล) จะให้ผลลัพธ์ขนาดที่แน่นอน: ฉันหายไปบางอย่างหรือไม่
find
คุณสามารถถามคำถามเหมือนกันเกี่ยวกับ locate
แต่แล้วมี
StatFs
ขนาดไดเรกทอรีโดยประมาณที่เร็วที่สุด มันเป็นเวลาเกือบ 1000x du
เร็วขึ้นสำหรับขนาดใหญ่ไดเรกทอรีที่ซับซ้อนเมื่อเทียบกับ