Các hệ thống tập tin ext4 có cần được phân mảnh không?


43

Các ext4hệ thống tập tin cần phải được phân mảnh? Nếu vậy, làm thế nào để tôi chống phân mảnh chúng?

Nếu không, bạn có thể đăng một lời giải thích đơn giản về lý do tại sao chúng không cần phải được phân mảnh?


4
Nếu bạn quan tâm như bạn nghe, có lẽ bài báo này sẽ được quan tâm về điều này: Dự án Fedora , cụ thể bắt đầu từ trang 179 (thực sự là trang 3)
nerdwaller

@nerdwaller Thú vị, mặc dù một chút chuyên sâu để tôi hiểu đầy đủ.
BenjiWiebe

1
Câu hỏi liên quan trên Hỏi Ubuntu: Tại sao phân mảnh không cần thiết? , trong đó câu trả lời được chấp nhận hiện tại là: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.
Đột phá

Câu trả lời:


30

Các ext4hệ thống tập tin cần phải được phân mảnh?

Có (nhưng rất hiếm khi).

Nếu vậy, làm thế nào để tôi chống phân mảnh chúng?

Sao chép tất cả các tệp ra khỏi phân vùng, xóa các tệp khỏi phân vùng, sau đó sao chép các tệp trở lại phân vùng. Hệ thống tệp sẽ phân bổ thông minh các tệp khi bạn sao chép chúng trở lại vào đĩa.

Nếu không, bạn có thể đăng một lời giải thích đơn giản về lý do tại sao chúng không cần phải được phân mảnh?

ext4hành động theo cách thông minh hơn là chỉ thêm các tệp mới vào không gian có sẵn tiếp theo. Thay vì đặt nhiều tệp gần nhau trên đĩa cứng, các hệ thống tệp Linux phân tán các tệp khác nhau trên đĩa, để lại một khoảng trống lớn giữa chúng. Khi một tệp được chỉnh sửa và cần phát triển, thường sẽ có nhiều không gian trống để tệp phát triển thành. Nếu xảy ra sự phân mảnh, hệ thống tệp sẽ cố gắng di chuyển các tệp xung quanh để giảm sự phân mảnh trong sử dụng bình thường mà không cần tiện ích chống phân mảnh.

Nhờ một Nhận xét của @Green Reaper, sự chú ý của tôi đã được chuyển đến e4defrag .


Vì vậy, không có phần mềm chống phân mảnh theo yêu cầu?
BenjiWiebe

9
Liên kết đến nguồn bạn sao chép / dán từ không bao giờ bị tổn thương ...;) howtogeek.com/115229
L

4
Công cụ được gọi là e4defrag có thể được sử dụng để chống phân mảnh ext4. Nó được cung cấp bởi e2fspross trên hầu hết các bản phát hành. ext4 cũng cố gắng tránh phân mảnh , nhưng không phải lúc nào cũng thành công.
GreenReaper

Có cách nào để xem tỷ lệ phần trăm của các tệp bị phân mảnh không?
Aaron Franke

Xin lưu ý rằng e4defrag chỉ phân mảnh các tệp chứ không phải không gian trống. Nếu không gian trống của bạn bị phân mảnh, thì e4defrag sẽ không hoạt động tốt, vì không có không gian liền kề để di chuyển bất kỳ tệp nào sang.
JLH

19

Tôi đã sử dụng phân vùng ext4 trong hơn một năm. Tôi thường hết dung lượng, di chuyển rất nhiều tệp vào và ra, v.v. .

Trên phân vùng Windows được sử dụng lâu hơn khoảng một năm với nhiều không gian trống hơn, tôi có phân mảnh 95%.

Vì vậy, không, bạn thực sự không cần phải chống phân mảnh ext4 và nếu bạn muốn chắc chắn, hãy để lại không gian trống mặc định cho ext4 (mặc định là 5%, có thể thay đổi theo ex2tunefs -m X).


1
Làm thế nào để bạn kiểm tra phân mảnh?
Sparhawk

13
Nếu bạn có một hệ thống tệp ext4 được tạo bằng extenttùy chọn (đó là mặc định trong các bản phát hành gần đây nhất), bạn có thể kiểm tra phân mảnh trên đó e4defrag -c /path/to/checkvà chống phân mảnh mà không cần xử lý e4defrag /path/to/check. Nhưng nếu bạn có đủ không gian trống, bạn sẽ không cần phải làm như vậy.
gerlos
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.