Mengapa menghapus file besar membutuhkan waktu lebih lama?


30

Pemahaman saya adalah bahwa menjalankan rmfile hanya dengan memutus tautannya, menandai ruang sebagai bebas di sistem file. Maka harus diikuti bahwa menghapus satu file selalu memakan waktu yang kira-kira sama (yaitu kecepatan hapus sebanding dengan jumlah file, bukan ukuran file).

Jadi mengapa menghapus file 15 GB membutuhkan waktu lebih dari satu menit dengan sederhana rm file.tar.gz?


5
Sistem file apa?
Shane Madden

8
Pada banyak sistem file, setiap "blok" ruang kosong harus "ditandai" gratis. File besar memiliki lebih banyak blok. Ini tidak berlaku untuk semua sistem file!
Chris S

@ShaneMadden pertanyaan bagus; ext4 sekarang, tapi saya perhatikan di ext lain juga.
Tom Marthenal

Itu sebabnya setiap file harus memiliki sistem file tervirtualisasi sendiri sehingga inode dapat dihapus secara sangat cepat! <
JEST

1
Sistem file mana yang lebih baik dalam hal ini? Saya sekarang menggunakan drive portabel untuk memindahkan disk VM besar dari satu mesin ke komputer lain dan mengambil selamanya selamanya membuat saya gila.
motobói

Jawaban:


39

Dibutuhkan jumlah waktu konstan untuk memutuskan tautan satu blok , tetapi file di luar ukuran satu blok terdiri dari beberapa blok yang dihubungkan bersama, dan semakin besar file semakin besar jumlah blok yang terhubung.


14
<BSD Zelot> bergumam menggumam UFS menggumamkan pembaruan lembut menggumam menggumamkan hal-hal yang lebih cepat menggumam menggumamkan pancake! </ BSD Zealot>
voretaq7

XFS menghapus file besar dengan sangat cepat, tetapi sejumlah besar file kecil sangat lambat.
Andrew

4
Satu file akan selalu hanya menggunakan satu inode . Itu memang menggunakan beberapa blok data.
Simon Richter

2
Satu blok untuk menguasai mereka semua, satu blok untuk menemukan mereka, Satu blok untuk membawa mereka semua dan dalam kegelapan mengikat mereka.
Rqomey
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.