Trang chủ » làm thế nào để » Tại sao Linux không cần phân mảnh

    Tại sao Linux không cần phân mảnh

    Nếu bạn là người dùng Linux, có lẽ bạn đã nghe nói rằng bạn không cần phải chống phân mảnh hệ thống tệp Linux của mình. Bạn cũng sẽ nhận thấy rằng các bản phân phối Linux không đi kèm với các tiện ích chống phân mảnh đĩa. Nhưng tại sao vậy?

    Để hiểu lý do tại sao các hệ thống tệp Linux không cần chống phân mảnh trong sử dụng thông thường - và các hệ thống Windows cũng vậy - bạn sẽ cần hiểu tại sao phân mảnh xảy ra và cách các hệ thống tệp Linux và Windows hoạt động khác nhau.

    Phân mảnh là gì

    Nhiều người dùng Windows, ngay cả những người chưa có kinh nghiệm, tin rằng việc thường xuyên chống phân mảnh hệ thống tệp của họ sẽ tăng tốc máy tính của họ. Điều mà nhiều người không biết là tại sao.

    Nói tóm lại, một ổ đĩa cứng có một số cung trên đó, mỗi ổ có thể chứa một phần dữ liệu nhỏ. Các tệp, đặc biệt là các tệp lớn, phải được lưu trữ trên một số lĩnh vực khác nhau. Giả sử bạn lưu một số tệp khác nhau vào hệ thống tệp của mình. Mỗi tệp này sẽ được lưu trữ trong một cụm các khu vực liền kề. Sau đó, bạn cập nhật một trong những tệp bạn đã lưu ban đầu, tăng kích thước tệp. Hệ thống tệp sẽ cố gắng lưu trữ các phần mới của tệp ngay bên cạnh các phần gốc. Thật không may, nếu không có đủ phòng không bị gián đoạn, tệp phải được chia thành nhiều phần - tất cả điều này xảy ra trong suốt với bạn. Khi đĩa cứng của bạn đọc tệp, đầu của nó phải bỏ qua giữa các vị trí vật lý khác nhau trên ổ cứng để đọc từng đoạn của các ngành - điều này làm mọi thứ chậm lại.

    Chống phân mảnh là một quy trình chuyên sâu giúp di chuyển các bit của tệp xung quanh để giảm phân mảnh, đảm bảo mỗi tệp nằm liền kề trên ổ đĩa.

    Tất nhiên, điều này khác với các ổ đĩa trạng thái rắn, không có bộ phận chuyển động và không nên chống phân mảnh - việc chống phân mảnh ổ SSD sẽ thực sự làm giảm tuổi thọ của nó. Và, trên các phiên bản Windows mới nhất, bạn không thực sự cần phải lo lắng về việc chống phân mảnh hệ thống tệp của mình - Windows sẽ tự động làm việc này cho bạn. Để biết thêm thông tin về các thực hành tốt nhất để chống phân mảnh, hãy đọc bài viết này:

    HTG giải thích: Bạn có thực sự cần chống phân mảnh PC của bạn?

    Hệ thống tệp Windows hoạt động như thế nào

    Hệ thống tệp FAT cũ của Microsoft - được nhìn thấy lần cuối theo mặc định trên Windows 98 và ME, mặc dù ngày nay nó vẫn được sử dụng trên các ổ flash USB - không cố gắng sắp xếp các tệp một cách thông minh. Khi bạn lưu tệp vào hệ thống tệp FAT, nó sẽ lưu tệp càng gần đầu đĩa càng tốt. Khi bạn lưu tệp thứ hai, nó sẽ lưu ngay sau tệp đầu tiên - v.v. Khi các tệp gốc tăng kích thước, chúng sẽ luôn bị phân mảnh. Không có phòng gần đó để chúng phát triển thành.

    Hệ thống tệp NTFS mới hơn của Microsoft, được đưa vào PC tiêu dùng với Windows XP và 2000, cố gắng thông minh hơn một chút. Nó phân bổ nhiều bộ đệm khác Bộ đệm không gian trống miễn phí xung quanh các tệp trên ổ đĩa, mặc dù, vì bất kỳ người dùng Windows nào cũng có thể cho bạn biết, các hệ thống tệp NTFS vẫn bị phân mảnh theo thời gian.

    Do cách thức hoạt động của các hệ thống tệp này, chúng cần được phân mảnh để duy trì hiệu suất cao nhất. Microsoft đã giảm bớt vấn đề này bằng cách chạy quy trình chống phân mảnh trong nền trên các phiên bản Windows mới nhất.

    Hệ thống tệp Linux hoạt động như thế nào

    Các hệ thống tệp ext2, ext3 và ext4 của Linux - ext4 là hệ thống tệp được Ubuntu sử dụng và hầu hết các bản phân phối Linux hiện tại khác - phân bổ các tệp theo cách thông minh hơn. 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 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.

    Do cách tiếp cận này hoạt động, bạn sẽ bắt đầu thấy phân mảnh nếu hệ thống tệp của bạn lấp đầy. Nếu nó đầy 95% (hoặc thậm chí 80%), bạn sẽ bắt đầu thấy một số phân mảnh. Tuy nhiên, hệ thống tập tin được thiết kế để tránh phân mảnh trong sử dụng bình thường.

    Nếu bạn gặp vấn đề với phân mảnh trên Linux, có lẽ bạn cần một đĩa cứng lớn hơn. Nếu bạn thực sự cần chống phân mảnh một hệ thống tệp, cách đơn giản nhất có lẽ là đáng tin cậy nhất: Sao chép tất cả các tệp 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 vào phân vùng. Hệ thống tệp sẽ phân bổ các tệp một cách thông minh khi bạn sao chép chúng trở lại vào đĩa.


    Bạn có thể đo sự phân mảnh của một hệ thống tệp Linux bằng lệnh fsck - tìm kiếm các nút inodes không liền kề của LÊNH trong đầu ra.