เหตุใดการลบไฟล์ขนาดใหญ่จึงใช้เวลานานกว่า


30

ความเข้าใจของฉันคือการทำงานrmกับไฟล์เพียงแค่ยกเลิกการเชื่อมโยงมันทำเครื่องหมายพื้นที่ว่างในระบบไฟล์ จากนั้นควรปฏิบัติตามว่าการลบไฟล์หนึ่งไฟล์จะใช้เวลาประมาณเท่ากันเสมอ (เช่นความเร็วในการลบนั้นเป็นสัดส่วนกับจำนวนไฟล์ไม่ใช่ขนาดของไฟล์)

ดังนั้นทำไมไม่ลบไฟล์ GB ใช้เวลา 15 กว่านาทีกับง่ายrm file.tar.gz?


5
ระบบไฟล์อะไร
เชนแมดเดน

8
ในระบบไฟล์หลายระบบ "บล็อก" ของพื้นที่ว่างแต่ละรายการจะต้อง "ทำเครื่องหมาย" ว่าง ไฟล์ขนาดใหญ่มีบล็อกมากกว่า สิ่งนี้ไม่เป็นความจริงสำหรับทุกระบบไฟล์!
Chris S

@ShaneMadden คำถามที่ดี; ext4 ตอนนี้ แต่ฉันสังเกตเห็นบน ext # อื่น ๆ เช่นกัน
Tom Marthenal

นั่นเป็นสาเหตุที่ไฟล์ทุกไฟล์ควรมีระบบไฟล์เสมือนจริงของตัวเองเพื่อให้ inodes สามารถลบข้อมูลได้อย่างรวดเร็วสุด ๆ ! <JEST>
thinice

1
ระบบไฟล์ใดจะทำงานได้ดีกว่าในกรณีนี้ ตอนนี้ฉันกำลังใช้ไดรฟ์แบบพกพาเพื่อย้ายดิสก์ VM ขนาดใหญ่จากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง
motobói

คำตอบ:


39

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


14
<BSD Zealot> พึมพำพึมพำ UFS พึมพำ ปรับปรุง พึมพำพึมพำลบสิ่งที่พึมพำแพนเค้กพึมพำ ! </ BSD Zealot>
voretaq7

XFS ลบไฟล์ขนาดใหญ่อย่างรวดเร็ว แต่ไฟล์ขนาดเล็กจำนวนมากช้ามาก
แอนดรู

4
หนึ่งไฟล์จะใช้เพียงไอโหนดเดียวเสมอ มันใช้หลายบล็อคข้อมูล
Simon Richter

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