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