Kinerja rm lambat pada partisi ext4


1

Menghapus apa yang menurut saya jumlah file sedang membutuhkan waktu yang sangat lama. Sebagai contoh:

$ pv linux-3.0.16.tar.bz2 | tar xj
73.2MB 0:00:16 [4.55MB/s]
$ pv linux-3.0.16.tar.bz2 | tar xj
73.2MB 0:03:16 [ 382kB/s]

Partisi ini diformat ext4, relatime yang dipasang, error = remount-ro. Tidak ada lonjakan pemanfaatan prosesor selama penghapusan file. Apakah ada yang tahu apa yang sedang terjadi?

Memperbarui : Menjalankan perintah di atas atau rm -rf sebagai root berkinerja seperti yang diharapkan ... memperbarui : menemukannya. Sysadmin untuk kotak telah memasang sejumlah aturan audit yang konyol secara global pada kotak. Menghapusnya memperbaikinya.


Kontennya sepertinya tar ekstrak dan kinerja menulis file tidak rm kinerja seperti pada judul dan baris pertama - yang mana itu?
RedGrittyBrick

Itu adalah menghapus kinerja. Perbedaan antara perintah pertama dan kedua adalah bahwa setiap file diganti alih-alih dibuat. rm -rf memiliki masalah yang sama, dan akan menjadi contoh yang lebih baik, saya kebetulan memiliki perintah-perintah di terminal saya.
Seamus Connor

Menghapus file dalam urutan acak sangat mahal karena setiap operasi penghapusan file menghilangkan entri dari posisi sewenang-wenang pada daftar.
David Schwartz

Apakah Anda menjalankan 'sinkronisasi' antara perintah, sehingga data dibilas ke disk?
mikebabcock

Jawaban:


1

Saat Anda mengganti atau menghapus file, ini dilakukan dengan sederhana:

  1. Temukan inode untuk file tersebut.
  2. Periksa izin, pengguna, dan grup file individual.
  3. Hapus file dalam direktori juga jika file tersebut adalah direktori (ulangi 1 - 4 untuk setiap file).
  4. Putuskan tautan file dan inode-nya.

Ini jelas akan banyak memperlambat kinerja, karena jauh lebih sulit daripada hanya menambahkan inode baru dan menulis file ke disk. Ini adalah efek samping dari itu menjadi daftar tabel inode, jika itu adalah pohon inode sebagai gantinya itu hanya bisa menghapus seluruh cabang sebagai gantinya. Meskipun hal ini tidak akan mengubah apa pun karena Anda tidak membongkar, karena pembatalan akan melakukannya file demi file terlepas dari cara penyimpanan inode ...

Menjalankan sebagai root memotong langkah 2, yang mungkin atau mungkin tidak menjadi perbedaan besar.


Sudahkah Anda mencoba memasang kembali di ext3 dan membandingkan waktu eksekusi?

Karena ext4 menghapus lebih cepat karena penggunaan luasan. Akan luar biasa jika lebih lambat ...

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.