Apakah sistem file ext4 perlu didefragmentasi?

42

Apakah ext4sistem file perlu didefragmentasi? Jika demikian, bagaimana cara mendefrag mereka?

Jika tidak, bisakah Anda memposting penjelasan sederhana mengapa mereka tidak perlu didefragmentasi?

BenjiWiebe
sumber
4
Jika Anda tertarik dengan apa yang Anda dengar, mungkin makalah ini akan menarik tentang ini: Proyek Fedora , khususnya mulai halaman 179 (yang benar-benar halaman 3)
nerdwaller
@nerdwaller Menarik, meski sedikit terlalu mendalam untuk saya pahami sepenuhnya.
BenjiWiebe
1
Pertanyaan terkait pada Tanyakan pada Ubuntu: Mengapa defragmentasi tidak perlu? , di mana jawaban yang diterima saat ini adalah:The underlying filesystems used by Ubuntu, like ext2 and ext3, simply don't need defragmenting because they don't fragment files in the same way as NTFS. There are more details athttp://en.wikipedia.org/wiki/Ext3#Defragmentation.
Terobosan

Jawaban:

30

Apakah ext4sistem file perlu didefragmentasi?

Ya (tapi sangat jarang).

Jika demikian, bagaimana cara mendefrag mereka?

Salin semua file dari partisi, hapus file dari partisi, lalu salin file kembali ke partisi. Sistem file akan secara cerdas mengalokasikan file saat Anda menyalinnya kembali ke disk.

Jika tidak, bisakah Anda memposting penjelasan sederhana mengapa mereka tidak perlu didefragmentasi?

ext4bertindak dengan cara yang lebih cerdas daripada hanya menambahkan file baru ke ruang yang tersedia berikutnya. Alih-alih menempatkan beberapa file berdekatan satu sama lain di hard disk, sistem file Linux menyebarkan file yang berbeda di seluruh disk, meninggalkan sejumlah besar ruang kosong di antara mereka. Ketika file diedit dan perlu tumbuh, biasanya ada banyak ruang kosong untuk file tumbuh. Jika memang terjadi fragmentasi, sistem file akan berusaha untuk memindahkan file-file sekitar untuk mengurangi fragmentasi dalam penggunaan normal, tanpa perlu utilitas defragmentasi.

Berkat Komentar dari @Green Reaper, perhatian saya telah tertuju pada e4defrag .

kacang
sumber
Jadi tidak ada perangkat lunak defragmenter atas permintaan?
BenjiWiebe
9
Tautan ke sumber yang Anda salin / tempel dari tidak ada salahnya ...;) howtogeek.com/115229
Christophe L
4
Alat yang dikenal sebagai e4defrag dapat digunakan untuk mendefrag ext4. Ini disediakan oleh e2fsprogs di sebagian besar distro. ext4 juga mencoba menghindari fragmentasi , tetapi tidak selalu berhasil.
GreenReaper
Apakah ada cara untuk melihat persentase file yang difragmentasi?
Aaron Franke
Sadarilah bahwa e4defrag hanya mendefrag file, bukan ruang kosong. Jika ruang kosong Anda terfragmentasi, maka e4defrag tidak akan berfungsi dengan baik, karena tidak ada ruang yang berdekatan untuk memindahkan file apa pun.
jlh
19

Saya telah menggunakan partisi ext4 selama lebih dari setahun. Saya sering kehabisan ruang, memindahkan banyak file masuk dan keluar dll dll ... hal-hal ini buruk untuk fragmentasi dan kemarin saya memeriksa fragmentasi untuk pertama kalinya dan hanya 2 file (bukan%, hanya dua file) yang terfragmentasi .

Pada partisi Windows yang digunakan selama sekitar satu tahun lebih lama dengan lebih banyak ruang kosong yang tersedia, saya memiliki fragmentasi 95%.

Jadi tidak, Anda benar-benar tidak perlu defragment ext4 dan jika Anda ingin memastikan, biarkan ruang kosong default untuk ext4 (default adalah 5%, dapat diubah dengan ex2tunefs -m X).

zahjin
sumber
1
Bagaimana Anda memeriksa fragmentasi?
Sparhawk
13
Jika Anda memiliki sistem file ext4 yang dibuat dengan extentopsi (ini adalah default di sebagian besar distro terbaru), Anda dapat memeriksa fragmentasi dengannya e4defrag -c /path/to/check, dan men-defragmentasi tanpa umounting e4defrag /path/to/check. Tetapi jika Anda memiliki cukup ruang kosong, Anda tidak perlu melakukannya.
gerlos