Tôi có cần chống phân mảnh hệ thống tập tin unix không?


24

Tôi biết các hệ thống tệp Windows rất nhạy cảm với phân mảnh và Unix như UFS, ZFS, ext3 hoặc ext4 không nhạy cảm như vậy.

Nhưng, có lý do nào để chống phân mảnh các hệ thống tập tin này không?

Nếu vậy, những công cụ có sẵn cho điều đó?


Hầu hết các hệ thống tập tin buổi sáng nói chung không cần phải phân mảnh thủ công. Điều này bao gồm ext3, NTFS, UFS và những người khác.
Chris S

3
Chris, tôi không thể nhận xét về người khác nhưng NTFS chắc chắn có lợi từ việc chống phân mảnh. Nó làm giảm đáng kể việc đập đầu gây ra bởi sự phân mảnh và kết quả là cải thiện thời gian phản hồi.
John Gardeniers

@JohnGardeniers Mỗi FS hỗ trợ phân mảnh sẽ được hưởng lợi từ việc phân mảnh. Nhưng, nó không cần thiết và sự suy giảm hiệu suất do phân mảnh bị hạn chế so với các hệ thống tệp cũ.
Chris S

Câu trả lời:


15

Trích dẫn trang Wikipedia về Hệ thống tập tin Ext3

(Các) hệ thống tệp Linux hiện đại giữ phân mảnh ở mức tối thiểu bằng cách giữ tất cả các khối trong một tệp gần nhau, ngay cả khi chúng không thể được lưu trữ trong các khu vực liên tiếp. Một số hệ thống tệp, như ext3, phân bổ hiệu quả khối miễn phí gần nhất với các khối khác trong tệp. Do đó, không cần phải lo lắng về sự phân mảnh trong hệ thống Linux


Sự phân mảnh cộng lại mặc dù .. Tôi đang thử lắc, như được đề xuất bởi Gert bên dưới.
xanh lam

9

Trên thực tế, NTFS không nhạy cảm với sự phân mảnh. NTFS tốt hơn đáng kể so với FAT32 - về mọi mặt - và là một hệ thống tệp hoàn toàn hiện đại.

Tôi đã chạy Linux tại nhà từ năm 1996 và chưa bao giờ phân mảnh bất kỳ hệ thống tập tin nào. Tôi chưa bao giờ có nhu cầu. Điều tôi đã làm nhiều nhất theo hướng này là chú ý đến loại tệp tôi sẽ đặt trên một hệ thống tệp và sử dụng các tùy chọn phù hợp khi tôi mkfs. Ví dụ: nếu một hệ thống tệp chủ yếu chứa các tệp lớn, tôi sẽ sử dụng kích thước khối lớn hơn. Nếu tôi đang tạo một hệ thống tệp khổng lồ nhưng tôi biết nó sẽ không bao giờ có nhiều hơn 1.000.000 tệp, thì tôi sẽ sử dụng -N 1000000tùy chọn để giới hạn số lượng nút. Nói chung, tôi sẽ điều chỉnh hệ thống tệp khi tạo thành nhiệm vụ của nó nếu một loại tệp cụ thể sẽ nằm trong đó.


6

Bạn không cần phải chống phân mảnh. Nhưng nếu bạn vẫn muốn làm điều đó, bạn luôn có thể sử dụng lắc .


3

Mặc dù ext2 và ext3 không cung cấp cho nó (và thường cần ít hơn vì chúng giữ các tệp tương đối với nhau ở vị trí đầu tiên) nhưng ext4 không cung cấp khả năng chống phân mảnh . Bài viết này nói về chương trình e4defrag. Nhưng ext4 là một hệ thống tập tin mới.

Tuy nhiên, so với các hệ thống tập tin linux linux tốt hơn nhiều khi không phân mảnh, vì vậy tôi sẽ không lo lắng về nó.


1
ext2 và ext3 có thể được phân mảnh. Họ không cần nó trong những trường hợp bình thường.
Eddie

Hãy nhớ rằng Windows FS không bao giờ cần phải được phân mảnh - NT3.51 được sử dụng để phân bổ không gian ở hai bên của khối giống như ext3, nhưng sau đó MS đã loại bỏ điều đó trong NT4 vì một số lý do.
gbjbaanb


1

Lý do chính đáng duy nhất để chống phân mảnh hệ thống tập tin linux là thu nhỏ các đĩa cứng ảo đã bị đầy.

Không lấp đầy không gian không sử dụng, chống phân mảnh và sau đó nén đĩa ảo từ trình quản lý VM.


1

Bạn có thể chống phân mảnh hệ thống tệp XFS (sử dụng xfs_fsr [dev|file]) và btrfs (sử dụngbtrfs filesystem defragment [file]

Đối với tất cả những người khác, chỉ cần đảm bảo rằng bạn có ít nhất 80% miễn phí hoặc vài chục gigabyte (tùy theo số lượng nhỏ hơn) và bạn không nên lo lắng về việc chống phân mảnh.

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.