Tham dự Tech Lounge

Tham dự Tech Lounge


[Windows, OS X] Chúng ta có cần phải chạy defragment máy tính thường xuyên nữa hay không?

Duy Luân
29/2/2016 7:51Phản hồi: 74
[Windows, OS X] Chúng ta có cần phải chạy defragment máy tính thường xuyên nữa hay không?
Giải phân mảnh (defragment) là một việc làm hết sức quen thuộc với anh em xài Windows, đặc biệt là trên các máy cũ sử dụng HDD. Thậm chí việc giải phân mảnh ổ đĩa định kì còn được "khuyên dùng" sau mỗi vài tháng hay vài tuần như một cách giúp tăng tốc hệ thống. Nhưng điều này có luôn đúng hay không? Vì sao chúng ta phải giải phân mảnh? Có thật là người dùng OS X hay Linux không bị phân mảnh HDD? Và nếu bạn xài những bản Windows hiện đại như Windows 7, Windows 8 hay Windows 10 thì việc chạy defragment thường xuyên có còn cần thiết?

Phiên bản ngắn gọn:
  • Sự phân mảnh diễn ra khi file bị cắt thành nhiều khúc nằm rải rác trên HDD khiến việc truy xuất bị chậm
  • Windows 7 trở lên có cơ chế chống phân mảnh tự động rất tốt, không cần quan tâm nhiều, trừ khi máy rất chậm
  • OS X và Linux cũng có cơ chế chống phân mảnh tốt, cũng không cần quan tâm thường xuyên
  • HDD nên được giải phân mảnh, nhưng SSD thì không

1. Vì sao phải giải phân mảnh?


Ổ đĩa cứng của chúng ta bao gồm các phiến đĩa từ tính bên trong. Trên mỗi đĩa như thế có nhiều vòng tròn chứa dữ liệu, gọi là track. Mỗi track lại được chia tiếp thành những đoạn nhỏ hơn, gọi là sector. Sector là đơn vị nhỏ nhất dùng để lưu dữ liệu trên HDD, và với định dạng NTFS phổ biến hiện nay là một sector có khả năng chứa được tối đa 4KB. Ví dụ, bạn có một file Word dung lượng 40KB thì Windows sẽ sử dụng 10 sector để chứa nó, cứ như vậy mà nhân lên.

Sector_track.jpg
10 sector này đôi khi sẽ nằm cạnh nhau, và file của bạn lưu xuống HDD sẽ nằm gọn trên 10 sector này. Nhưng sau đó bạn mở file ra, chèn thêm 1 tấm ảnh vào rồi nhấn save tiếp, tức là dung lượng file của chúng ta giờ đã tăng lên. Lúc này, hệ điều hành sẽ xem thử xem sector nằm liền kề có còn trống hay không, nếu trống và đủ dung lượng để chứa phần dôi ra thì nó ghi vào.


Nhưng không may là trong hầu hết các trường hợp, đoạn trống liền kề này không đủ để chứa phần dung lượng mới tăng thêm của file. Chính vì thế, hệ điều hành sẽ phải cắt file thành nhiều khúc nhỏ và kiếm sector trống nằm ở khác để lưu xuống. Bạn sẽ không thấy được quy trình nói trên, thứ mà bạn thấy vẫn chỉ là 1 file duy nhất, 1 file hoàn chỉnh, nhưng khi nó lưu trên HDD thì nó nằm ở hai vị trí khác nhau, thậm chí là ở 2 phiến đĩa khác nhau.

Giờ bạn lại mở file này ra để xem. Lúc này, hệ điều hành phải "huy động" đầu đọc của HDD đến loạt 10 sector đầu tiên, sau đó lại mất thêm thời gian tìm và đọc tiếp phần còn lại đang nằm rải rác đâu đó trên phiến đĩa. Rõ ràng công đoạn này sẽ mất thời gian hơn so với việc đọc các sector nằm liên tục nhau. Đây là lý do mà tình trạng phân mảnh khiến hệ thống của chúng ta chậm hơn so với trước.

Phan_manh.gif

Để giải quyết vấn đề này, người ta đưa ra các công cụ giải phân mảnh (defragmentation). Những công cụ này sẽ cố gắng sắp xếp các sector đang bị phân bổ rải rác của cùng 1 file nằm lại sát nhau nhất có thể. Trong trường hợp lý tưởng, 1 file nằm ở 2-3 nơi có thể được di chuyển về 1 nơi duy nhất trên các sector nằm liên tục. Vậy là đầu đọc của HDD sẽ hoạt động hiệu quả hơn, nhanh hơn, tốc độ mở file và truy xuất của chúng ta từ đó cũng nhanh hơn.

Với SSD, cách ghi dữ liệu theo từng "khúc" cũng gần giống như trên. Tuy nhiên, SSD lại sử dụng điện để truy xuất dữ liệu ở các ô nhớ của mình nên tốc độ cực kì nhanh ngay cả khi các ô đó nằm xa nhau, không như HDD phải chậm chạp di chuyển đầu kim đến đúng chỗ thì mới bắt đầu đọc. Chính vì thế, nhiều chuyên gia, trong đó có cả Microsoft, nói rằng việc phân mảnh hầu như không gây ra tác động gì đến các máy chạy SSD cả. Thậm chí Windows 7 trở lên còn tắt luôn tính năng giải phân mảnh cho các phân vùng nằm trên SSD.

Việc giải phân mảnh trên SSD thậm chí còn làm hại ổ lưu trữ của bạn do SSD chỉ có khả năng ghi dữ liệu với một số lần nhất định. Quá trình giải phân mảnh SSD sẽ xóa và ghi lại các file vào vị trí phù hợp, và điều này sẽ làm mất đi các lần ghi mà đáng ra chúng ta có thể xài để lưu file hữu ích hơn. Nhưng cũng không quá lo lắng, thường tuổi thọ của SSD từ các hãng uy tín rất cao và bạn có thể thoải mái xài 4-5 năm trời mà không bị gì.

2. Cách hoạt động của Windows


Để quản lý ổ đĩa, Windows cần phải biết định dạng file system của ổ hay phân vùng đó. Hiện tại phổ biến nhất là NTFS, sau đó đến FAT32 cũ hơn. Khi bạn lưu một file nào đó lên phân vùng FAT, dữ liệu sẽ được lưu ở đoạn sector gần nơi bắt đầu đĩa nhất. Khi bạn lưu file thứ hai, file này sẽ nằm ngay kế sector kết thúc của file đầu tiên, mà nói bình dân là lưu "sát đít" luôn. Do giữa hai file này không có chỗ trống dự phòng, nếu bạn chỉnh sửa file số 1 khiến nó tăng dung lượng lên thì chắc chắn Windows sẽ phải đi kiếm sector khác để lưu, vậy là bị phân mảnh.

Quảng cáo



fat_sector.gif
File trong FAT được ghi liền kề nhau, không chừa khoảng trống

Trong khi đó, định dạng NTFS thì thông minh hơn. Nó tạm ra những sector trống với vai trò là vùng đệm xung quanh các file mà bạn đã lưu xuống để lỡ bạn có chỉnh sửa gì thì vẫn còn chỗ cho file phình ra. Tất nhiên, sự thông minh này cũng chỉ ở một mức độ nào đó nên NTFS vẫn bị phân mảnh theo thời gian mặc dù tình trạng không nghiêm trọng như FAT. Nếu bạn hay kiểm tra công cụ defragment của Windows 7 thì thường thấy báo là 0% bị phân mảnh, tức là rất tốt, và mọi chuyện lại còn diễn ra hoàn toàn tự động nữa chứ. Lần cao nhất mà mình thấy là bị 5% phân mảnh, ngay cả khi đó chiếc laptop của mình vẫn chạy ngon và không gặp vấn đề gì.

Trong các bản Windows cũ, từ XP trở về trước, chúng ta thường chạy giải phân mảnh bằng công cụ có sẵn của Windows và buộc phải chạy thủ công. Từ Windows 7 trở về sau, Windows đôi khi sẽ chạy giải phân mảnh tự động ở background và không cho chúng ta biết (thường vào khoảng 1 giờ sáng thứ Tư hàng tuần). Nó cứ âm thầm làm việc để hạn chế việc bị phân mảnh ở mức nhiều nhất có thể. Bản thân Windows cũng được trang bị các thuật toán mới hơn để tình trạng phân mảnh luôn được giữ ở mức hạn chế nhất.

Windows_7_auto_defrag.png

Và như đã nói ở trên, từ Windows 7 trở lên thì Windows sẽ tắt giải phân mảnh với các phân vùng nằm trên SSD vì nó không có tác dụng gì. Ổ SSD còn có chức năng TRIM, nó là một lệnh giúp hệ điều hành biết được ô dữ liệu nào được xem là không còn xài nữa và xóa đi để sẵn sàng ghi dữ liệu mới lên. TRIM được cho là giúp ổ cứng ít bị phân mảnh hơn.

3. Cách hoạt động của Linux và OS X

Quảng cáo


Linux sử dụng các định dạng file system như ext2, ext3 và ext4 làm mặc định, và hiện ext4 là chuẩn được áp dụng cho hầu hết các bản Linux hiện đại. Định dạng ext hay ở chỗ nó ghi file mới nằm rải rác ở khắp HDD, do đó xung quanh mỗi file sẽ có nhiều không gian trống hơn để chứa phần dữ liệu mới phình ra. Khi một file được chỉnh sửa và dung lượng tăng lên, thường thì sẽ có đủ chỗ trống để ghi vào các sector nằm liên tục hoặc gần nhau.

Trong trường hợp sự phân mảnh có diễn ra do dung lượng file sau khi chỉnh sửa tăng lên quá nhiều, hệ điều hành sẽ cố gắng sắp xếp lại dữ liệu ngay lúc đó nên tình trạng phân mảnh không bị kéo dài và chất đống theo thời gian. Với cách hoạt động như thế này, khi HDD càng đầy dữ liệu thì tình trạng phân mảnh càng diễn ra nặng hơn nhưng cũng không quá nghiêm trọng vì file system đã được thiết kế kỹ cho tình trạng này. Chính vì thế mà người dùng Linux hiếm khi phải giải phân mảnh ổ cứng.

Về phần OS X của Apple, định dạng file system HFS+ cũng được thiết kế theo kiểu chống sự phân mảnh. Nó sẽ không sử dụng lại những vùng dung lượng vừa được giải phóng trên HDD. Thay vào đó, HFS+ sẽ quét ổ đĩa để tìm những vùng trống lớn hơn và dành những vùng này để chứa các file mới tạo ra. OS X còn có một tính năng gọi là Hot File Adaptive Clustering (HFC). HFC sẽ di chuyển những file dạng chỉ đọc (read only) và các file thường dùng sang một khu vực riêng gọi là "hot zone". Vùng này sẽ giúp dữ liệu được truy xuất nhanh hơn. Tuy nhiên, các chức năng chống phân mảnh nói trên sẽ chỉ tỏ ra hiệu quả khi dung lượng trống thấp hơn 90%.

Nói như vậy không có nghĩa là OS X không bao giờ bị phân mảnh. Những người nào thường làm việc với các file lớn cỡ trên 1GB, ví dụ file dự án, file video,... thì có thể cần phải defrag định kì. Ngay cả nhân viên của Apple Store trước đây cũng được trang bị phần mềm iDefrag để sẵn sàng giải phân mảnh cho máy tính của khách hàng khi cần thiết. Nhưng nhìn chung, trừ khi máy bạn rất rất rất chậm và đã thử hết mọi cách mà vẫn không cải thiện thì mới cần nghĩ đến việc giải phân mảnh.

iDefrag.jpg

Tóm lại, với Linux và OS X, tình trạng phân mảnh cũng có xảy ra, tuy nhiên hiếm hơn so với Windows, và nếu có thì cũng không nghiêm trọng. Cũng như Windows, SSD không cần phải giải phân mảnh trên Linux và OS X.

4. Kết luận


Ngày nay tình trạng giải phân mảnh đã không còn nghiêm trọng như thời 7-8 năm về trước, một phần vì hệ điều hành đã được cải tiến, file system cũng trở nên thông minh hơn, các công cụ giải phân mảnh cũng đã chạy tự động nên chúng ta không còn phải quá lo lắng về nó. HDD của chúng ta dung lượng cũng lớn hơn nên việc thiếu chỗ lưu trữ vì phân mảnh cũng chẳng đáng kể. Ổ SSD thì lại càng không nên chạy giải phân mảnh do nó chẳng có tác dụng mấy, lại còn làm hại tuổi thọ hơn.

Do đó, bạn nên:
  • Với Windows XP: giải phân mảnh định kì, có thể là 1-2 tháng một lần
  • Với Windows 7, 8, 10: giải phân mảnh đã chạy tự động, trừ khi bạn cảm thấy máy quá chậm hay tỉ lệ phân mảnh rất cao thì hãy chạy defragment, còn nếu máy đang bình thường thì hãy quên nó đi
  • Linux và OS X: hiếm khi bị phân mảnh, cũng quên nó luôn.
Chúc anh em vui vẻ, hạnh phúc với chiếc máy tính của mình và không còn cảm thấy phiều nhiễu vì tình trạng phân mảnh nữa.

74 bình luận
Chia sẻ

Xu hướng

bạn nên:
  • Với Windows XP: giải phân mảnh định kì, có thể là 1-2 tháng một lần
  • Với Windows 7, 8, 10: giải phân mảnh đã chạy tự động, trừ khi bạn cảm thấy máy quá chậm hay tỉ lệ phân mảnh rất cao thì hãy chạy defragment, còn nếu máy đang bình thường thì hãy quên nó đi
  • Linux và OS X: hiếm khi bị phân mảnh, cũng quên nó luôn
JNG
TÍCH CỰC
8 năm
hình như 4 năm rồi chưa chạy cái này, ko xài SSD nhé
haluong84
ĐẠI BÀNG
8 năm
@JNG vãi nhỉ, dùng SDD 4 rồi cơ à
@JNG nếu bạn dùng win thì windows nó mặc định lịch trình cứ 1 tuần là nó tự chống phân mảng 1 lần 7,8,10
anhhoang02
TÍCH CỰC
8 năm
Hồi HDD hay ghi đầy ổ cứng thì phân mảnh, còn khi đã nâng cấp lên HDD dung lượng lớn thì quên luôn vì chẳng bao giờ dùng hết 1/2 dung lượng.

Giời thì SSD thằng tiến, quên luôn.
@anhhoang02 Sai nhé ! không phải cứ còn dung lượng nhiều là ko phân mảnh nhé .
Chả hiểu sao mình xài win 10 chạy cái này xong khởi động máy lâu hơn hẳn luôn.
@ger'sKing Chạy cái đó bị full disk 100% nên chạy chậm
@zozolozozove Máy mình lắp ổ SSD ko thấy full disk bạn ah. Có điều thời giam khởi động nó tăng lên mà đèn ổ cứng cứ nhấp nháy mãi.
ubslum
ĐẠI BÀNG
8 năm
chả biết chứ bắt đầu từ win 7 là hết có cái vụ chậm chậm như kiểu XP rồi nên defag chả bao giờ dùng 😁
mrd213
CAO CẤP
8 năm
Trước dùng win xp cũng chạy cái này, mà nó lâu quá nên sau kệ, từ hồi lên win 7 cũng quên nó luôn, may là ko cần thiết thật 😁
phantnang
TÍCH CỰC
8 năm
@mrd213 Nếu 1 thời gian dùng XP mà kochạy defrag thì lên win7 nó ko tự động chạy đâu, no chỉ xử lý khi mình xoá, ghi file thôi trên nó thôi
mrd213
CAO CẤP
8 năm
@phantnang Ah máy khác rồi bác ah, máy chạy XP cái HDD có 40gb thôi, mà hồi đấy nó chạy mất cả đêm từ đó ngại chạy 😁 đổi máy khác ổ 500gb nhưng may chạy win 7 nên ko cần chạy nữa, ko chắc mất nguyên ngày.
@mrd213 Hồi xưa ổ HDD tốc độ vòng quay thấp (hình như hồi xưa chưa có loại đạt 5400rpm) nên phân mảnh rất chậm. Còn giờ toàn 5400, 7200 nên nhanh hơn nhiều
Một trong những nguyên nhân 100% disk mà các thánh từ 7 lên 10( trước kia là 8.1) là đây 😆)
@king_of_mar1311 Haha, cũng đúng 😁 Do nó tự động chống phân mảnh nên HDD hoạt động hết công suất
Việc đầu tiên khi mình cài xong win không phải là tắt windows update, mà là tắt tự động chống phân mảnh :D
Đang dùng SSD nên "Phân mảnh là gì, sau khi phân mảnh có ăn được không?"
@dinhmanhht86 Giờ dùng ssd 128G hết 😆 máy kế toán dùng bao h cho hết
ko phải nhé, cái update của MS gây tình trạnh 100% disk
dtt_arc
ĐẠI BÀNG
8 năm
chỉ áp dụng cho HDD thôi. SSD mà dùng có khi hư luôn vì nó sẽ rất nóng khi defrag
cuong642
TÍCH CỰC
8 năm
@dtt_arc hơn nữa ssd nó tính số lần đọc và ghi, nên nếu dùng cái này là nhanh nát ssd
Thường là tắt chống phân mảnh của windows và cài của iobit, do lịch và giao diện của iobit tốt hơn nhiều 😁 Máy thường online, nghe nhạc thì khuyến khích để mặc định, còn bạn nào cắm torrent như mình thì khuyến khích cài phần mềm ngoài :D
đây còn gọi là hiện tượng bối rối, HDD bị bối rối
nttrung.seo
ĐẠI BÀNG
8 năm
Mấy máy xài HDD thôi chứ
Vic Thành
ĐẠI BÀNG
8 năm
Cơ bản mà nói cài vào chỉ thêm mau hư ổ cứng. 😆
Tinh tế giờ hỏi nhiều câu chán thật
Mình chả bao giờ quan tâm tới chuyện phân mảnh luôn. Cứ kệ nó! 😃
kennyN73
TÍCH CỰC
8 năm
Giờ sài SSD ròi nên có chạy phân mảnh cũng không giải quyết được gì hết. Nghỉ cho khoẻ.
@kennyN73 Phải rồi. Kệ thây nó cho nó phân. Phân xong làm như nó nhanh thấy rõ vậy thật ra nó cũng chậm như thường. Khi nào chia ổ đĩa thì để trình chia ổ đĩa nó tự làm.
Thời xp chạy HDD chứ giờ mình chạy SSD không dùng từ lâu rồi.
Mà Ổ SSD sử dụng 4-5 năm là nguy cơ hỏng ? - mình dùng được 4 năm rồi chưa thấy gì
SSD Intel 240GB
kttam
ĐẠI BÀNG
8 năm
@trinhvandat Không phải 4-5 năm có nguy cơ hỏng mà là tổng dung lượng bạn đã ghi lên ổ đến 1 giới hạn nào đó thì ổ sẽ có nguy cơ hỏng.
Khanh Rô
ĐẠI BÀNG
8 năm
@trinhvandat chuẩn bị đó bạn mình cũng đang hồi hộp SSD chỉ xài đc 5-10 năm là hết chu kỳ ghi dữ liệu lúc đó nó chỉ có đọc đc thôi ko ghi đc nữa . Chuẩn bị tinh thần thay SSD mới là vừa rồi cậu
vipkattkool
ĐẠI BÀNG
8 năm
@trinhvandat ở ssd tính tuổi thọ theo số lần ghi nhé, ko phải tính theo thời gian nhé thím
nếu chỉ chứa mỗi win thôi thì 10 năm vẫn sống

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019