Tại sao xóa một tập tin lớn mất nhiều thời gian hơn?


30

Hiểu biết của tôi là chạy rmtrên một tệp chỉ cần hủy liên kết nó, đánh dấu không gian là miễn phí trong hệ thống tệp. Sau đó, nên xóa một tệp luôn mất khoảng thời gian như nhau (tức là tốc độ xóa tỷ lệ thuận với số lượng tệp chứ không phải kích thước tệp).

Vậy tại sao việc xóa một tệp 15 GB chỉ mất một phút với một cách đơn giản rm file.tar.gz?


5
Hệ thống tập tin gì?
Shane Madden

8
Trên nhiều hệ thống tệp, mỗi "khối" không gian trống phải được "đánh dấu" miễn phí. Các tệp lớn có nhiều khối hơn. Điều này không đúng với tất cả các hệ thống tập tin!
Chris S

@ShaneMadden câu hỏi hay; ext4 ngay bây giờ, nhưng tôi cũng nhận thấy nó trên các ext # khác.
Tom Marthenal

Đó là lý do tại sao mọi tệp nên có hệ thống tệp ảo hóa của riêng mình để các nút có thể bị xóa một cách nhanh chóng! <JEST>
mỏng

1
Hệ thống tập tin nào sẽ hoạt động tốt hơn trong trường hợp này? Bây giờ tôi đang sử dụng một ổ đĩa di động để di chuyển các đĩa VM lớn từ máy này sang máy khác và rm mất mãi mãi đang khiến tôi phát điên.
motobói

Câu trả lời:


39

Phải mất một khoảng thời gian không đổi để hủy liên kết một khối , nhưng các tệp vượt quá kích thước của một khối bao gồm nhiều khối được liên kết với nhau và tệp càng lớn thì số lượng khối được liên kết càng lớn.


14
<BSD Zealot> lí nhí lí nhí UFS lí nhí lí nhí cập nhật phần mềm lí nhí lí nhí thứ xóa nhanh lí nhí lí nhí bánh! </ BSD Zealot>
voretaq7

XFS xóa các tệp lớn rất nhanh, nhưng số lượng lớn các tệp nhỏ rất chậm.
Andrew

4
Một tập tin sẽ luôn luôn chỉ sử dụng một inode . Nó sử dụng nhiều khối dữ liệu.
Simon Richter

2
Một khối để cai trị tất cả, một khối để tìm ra chúng, Một khối để mang lại tất cả và trong bóng tối trói buộc họ.
Rqomey
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.