Tại sao ổ đĩa C chống phân mảnh làm tăng dung lượng ổ đĩa trống của tôi thêm 10 GB?


27

Tôi đã sử dụng Defraggler để chống phân mảnh dung lượng trống trên ổ đĩa 100 GB C: \ đầy 85 GB. Sau khi chống phân mảnh, ổ đĩa chỉ hiển thị 75 GB đầy đủ. Làm thế nào mà 10 GB không gian trống xuất hiện một cách kỳ diệu? Tôi đã mất dữ liệu?

Tôi đã dọn dẹp đĩa trước khi chống phân mảnh và thùng rác của tôi chỉ còn khoảng 11 MB, vì vậy không thể vì làm sạch các tệp tạm thời. Lưu ý rằng tôi đã phân mảnh "không gian trống", điều đó có nghĩa là nó nên sắp xếp lại các khối trống để tiếp giáp nhau.


1
Có lẽ một sự tương tác với bản sao bóng: xem ví dụ ( piriform.com/docs/defraggler/technical-information/... )
Horatio

2
Ngoài ra, Defraggler có một tùy chọn để làm trống thùng rác trước khi chống phân mảnh.
oKtosiTe

Câu trả lời:


14

Điều có thể xảy ra là hoạt động chống phân mảnh đã buộc Windows phải loại bỏ một số ảnh chụp nhanh khôi phục hệ thống. Đây là một trường hợp phân mảnh bệnh lý để khiến chi phí siêu dữ liệu chiếm toàn bộ 10% dung lượng ổ đĩa của bạn so với những gì Windows thường sử dụng. ngay cả sau đó, tôi không chắc nó có thể.

Tôi không thấy bất cứ điều gì trong lịch sử phiên bản hoặc tài liệu của Defraggler chỉ ra rằng nó có thể phân mảnh chính xác các tệp để ngăn chặn việc xóa các bản sao bóng tối. Trên thực tế, chủ đề này từ diễn đàn hỗ trợ của Defraggler chỉ ra rằng họ biết điều đó đang xảy ra (có một bài đăng từ quản trị viên hội đồng có nhãn "Công cụ sửa lỗi Piriform chính thức" trong luồng) nhưng không cho biết họ có sửa nó hay không.

Bản sao bóng có thể bị mất khi bạn chống phân mảnh âm lượng : Lý do điều này xảy ra là theo mặc định, VSS hoạt động với cụm 16 KB theo mặc định, trong khi hầu hết các ổ NTFS được định dạng với cụm 4 KB. Vì vậy, nếu một hoạt động chống phân mảnh đang di chuyển dữ liệu không phải là bội số của cụm 16 KB (hoặc "khoảng cách" thì di chuyển không phải là bội số của 16 KB), thì VSS sẽ theo dõi nó như một thay đổi và có thể thanh lọc tất cả ảnh chụp nhanh.

MSDN: Chống phân mảnh tệp :

Khi có thể, di chuyển dữ liệu theo các khối được liên kết với nhau theo gia số 16 kilobyte (KB). Điều này làm giảm chi phí sao chép khi ghi bản sao được bật, vì không gian sao chép bóng được tăng lên và hiệu suất bị giảm khi xảy ra các điều kiện sau:

  • Kích thước khối yêu cầu di chuyển nhỏ hơn hoặc bằng 16 KB.
  • Di chuyển delta không tăng 16 KB.

Vista được xây dựng trong defrag không làm điều này :

Một thay đổi không rõ ràng đối với người dùng là tối ưu hóa bản sao bóng của chúng tôi trong quá trình chống phân mảnh. Defrag có các heuristic đặc biệt để di chuyển các khối tệp theo cách sẽ giảm thiểu hoạt động sao chép trên ghi và tiêu thụ vùng lưu trữ bản sao bóng. Nếu không có sự tối ưu hóa này, quá trình chống phân mảnh sẽ đẩy nhanh việc xóa các bản sao bóng cũ hơn.


Tôi không biết về phần chụp nhanh của câu trả lời này, nhưng tôi không tin rằng sự phân mảnh đã giải phóng không gian. Có thể phân mảnh đã làm trống Thùng rác của bạn? Trên một hệ thống tệp không kết hợp các tệp nhỏ thành một cụm, tôi không thể thấy việc chống phân mảnh sẽ dẫn đến việc tăng dung lượng như vậy. Tôi có thể tưởng tượng bạn có 10G dung lượng trống trong các khối nhỏ mà Windows không đếm được, nhưng tôi chưa từng nghe về hành vi đó trước đây.
Slartibartfast

@Slartibartfast: Đó là một vấn đề nếu ứng dụng không được viết chính xác. Tôi sẽ cập nhật câu trả lời của mình với nhiều bằng chứng hơn, bây giờ tôi không có trên điện thoại của mình. :-)
afrazier

@afrazier - mặc dù tôi nghĩ rằng câu trả lời được cập nhật của ThouArtNotDoc ​​là một câu trả lời chung tốt hơn. Tôi phải đồng ý rằng các bản sao bóng tối có thể đóng một vai trò trong tình huống của OP. Tôi cũng tìm thấy điều này: "Nếu bạn có kế hoạch chống phân mảnh khối lượng bản sao bóng được bật, bạn nên sử dụng kích thước cụm (hoặc đơn vị phân bổ) từ 16 KB trở lên. Nếu không, số lượng thay đổi đã gây ra bởi quá trình phân mảnh có thể khiến các bản sao bóng bị xóa nhanh hơn dự kiến. " - MS: "Thiết kế chiến lược sao chép bóng tối" technet.microsoft.com/en-us/l
Library / cc728305 (WS.10) .aspx

@afrazier: Khẳng định. Tất cả các điểm khôi phục hệ thống trước đó đã biến mất. Trong cấu hình, tôi có 12% được đặt là không gian tối đa được phép cho các bản sao bóng, vì vậy 10 GB không phải là không hợp lý. Mặt khác, tôi vừa cài đặt một trò chơi 9 GB, có thể chỉ đơn giản là ghi đè các điểm khôi phục trước đó.
Goweon

@firebat: Không gian được sử dụng bởi System Restore là để theo dõi các thay đổi đối với các tệp hiện có (được chụp nhanh), không phải các tệp mới. Cài đặt một trò chơi mới sẽ không ảnh hưởng đến không gian khôi phục hệ thống, nhưng một bản vá lớn có thể.
afrazier

23

Mỗi mảnh phải được theo dõi ở đâu đó. Điều đó chiếm không gian lưu trữ (trong hệ thống ống nước của hệ thống Tệp, không phải thứ bạn muốn truy cập trực tiếp).

Một ví dụ: Giả sử bạn có một tệp duy nhất với 1000 đoạn. Do đó, tệp của bạn được lưu trữ thông qua một tập hợp các khối ngẫu nhiên .. Thay vì trong một khối liên tục duy nhất. Điều này có nghĩa là tệp bị phân mảnh cần thêm 1000 lần dung lượng lưu trữ trong hệ thống ống nước của hệ thống tệp, nếu chỉ để lưu trữ địa chỉ cho mỗi phân đoạn. Hệ thống ống nước hệ thống tập tin giữ ít từ điển / cơ sở dữ liệu / bản đồ / bảng / danh sách đến vị trí của từng mảnh của tập tin. Vì vậy, đối với hệ thống hệ thống tập tin, việc lưu trữ một danh sách một con trỏ đoạn đơn không cần nhiều dung lượng, so với danh sách 1000 con trỏ đoạn ..

Nhưng này, có lẽ tôi đã sai ...

Chỉnh sửa: Thông tin hỗ trợ từ đây :

Khi luồng dữ liệu không cư trú bị phân mảnh quá nhiều, do đó bản đồ phân bổ hiệu quả của nó không thể phù hợp hoàn toàn trong bản ghi MFT, bản đồ phân bổ cũng có thể được lưu trữ dưới dạng luồng không cư trú, chỉ có một luồng cư dân nhỏ chứa phân bổ gián tiếp ánh xạ tới bản đồ phân bổ không cư trú hiệu quả của luồng dữ liệu không cư trú.

Dịch: Nếu bạn bị phân mảnh nặng, các giả định trường hợp chung của hệ thống ống nước hệ thống tập tin sẽ không được áp dụng. Do đó, FS phải thực hiện các bước để phù hợp với việc phân mảnh và kết thúc việc tốn thêm dung lượng lưu trữ, chỉ để quản lý các phân đoạn. Chính xác là dự đoán của tôi từ nơi đầu tiên.


Chỉnh sửa: Với những điều trên, có vẻ như 10GB bị mất chỉ để phân mảnh tệp là điên rồ. Tôi cá rằng trong khi chống phân mảnh, bạn có một số lỗi hệ thống tệp phổ biến được sửa tự động. Tôi nghĩ rằng bạn không chỉ bị phân mảnh lớn mà còn xóa một phần tệp chiếm dung lượng lưu trữ. Thật tuyệt khi thấy một bản ghi scandisk từ phân mảnh đó (hoặc một bản scandisk trước khi phân mảnh)


3
PS - đó phải là một số phân mảnh cứng.
James T Snell

Tôi không biết liệu đó có phải là lý do hợp lệ cho việc tăng mức tiêu thụ lưu trữ như vậy sau khi phân mảnh hay không. Nhưng tôi đã nhận thấy điều này nhiều lần, Nếu bạn có một điểm khôi phục hệ thống khá cũ (thường thì điều đó không xảy ra nếu bạn thường xuyên chạy tiện ích dọn dẹp đĩa), và sau đó bạn chống phân mảnh sau khi nhiều dữ liệu được thu thập trên ổ C, mức tiêu thụ bộ nhớ tăng lên từ đâu, nhưng nếu bạn xóa điểm khôi phục đó, nó sẽ dọn sạch bộ nhớ bị chiếm dụng đó. Về mặt kỹ thuật, nó có thể không có ý nghĩa gì, nhưng đã xảy ra với tôi nhiều lần, vì làm thêm giờ, các điểm khôi phục chiếm hết bộ nhớ.
Kushal

Dunno, 10G có vẻ như rất nhiều, nhưng IME, đĩa rất đầy đủ có xu hướng mảnh nhiều nhiều một cách nhanh chóng hơn đĩa ít bị phân mảnh. Nếu anh ta ở mức> 85% trước đó (vì anh ta có nghĩa là 85GiB nhưng đĩa 100 GB), và có thể đầy đủ hơn trong thời gian đó, anh ta có thể đã có sự phân mảnh cao một cách ngoạn mục và hiệu suất khủng khiếp.
Bernd Haug

3
Trừ khi khối lượng trên khối lượng đó quá cao, cá nhân tôi không thể tin vào 10 GB dung lượng được giải phóng chỉ bằng cách không theo dõi các mảnh vỡ. Với kích thước khối là 4096k và giả sử mỗi mảnh cần một khối đầy đủ chỉ để theo dõi (đó là sai), điều đó sẽ cần 2,5 triệu mảnh trước đó được theo dõi nhưng không còn giải phóng được nhiều không gian đó nữa.
CarlF

1
@Doc - một con trỏ sẽ không mất cả một khối. Nếu (rất có thể) mỗi khối phân bổ là nhiều lĩnh vực, bạn cần ít con trỏ hơn vì có ít khối hơn để theo dõi dữ liệu của bạn - vì vậy, chi phí tối đa có thể để theo dõi tất cả các phân đoạn sẽ ít hơn 3%. Tôi không biết chi tiết chính xác về NTFS, nhưng với các hệ thống lưu trữ FAT (tương đối không hiệu quả), bạn vẫn không thể nhận được 10% chi phí cho Bảng phân bổ tệp (những con trỏ theo dõi phân đoạn) mà FAT được đặt theo tên.
Steve314
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.