Câu hỏi Tại sao làm trống không gian đĩa tăng tốc máy tính?


Tôi đã xem xét một loạt video và giờ đây hiểu rõ hơn về cách hoạt động của máy tính. Tôi hiểu rõ hơn RAM là gì, bộ nhớ dễ bay hơi và không bay hơi, và quá trình hoán đổi. Tôi cũng hiểu tại sao tăng RAM tăng tốc máy tính.

Tôi không hiểu tại sao dọn dẹp không gian đĩa tăng tốc máy tính. Phải không? Tại sao nó? Nó có liên quan đến việc tìm kiếm không gian có sẵn để cứu mọi thứ không? Hoặc với việc di chuyển mọi thứ xung quanh để tạo ra một không gian liên tục đủ dài để cứu một cái gì đó? Tôi nên để trống bao nhiêu dung lượng trống trên đĩa cứng?


188
2018-04-19 23:06


gốc


nó không thực sự tăng tốc độ máy tính, nó chỉ làm giảm cơ hội phân mảnh tập tin mà làm cho ổ cứng chậm hơn. Đây là một trong những huyền thoại PC lớn nhất mà mọi người lặp lại. Để tìm bootlenecks trên PC, hãy theo dõi nó bằng xperf / WPA. - magicandre1981
FWIW nó speeds up the experience of using a PC. - edthethird
@ magicandre1981: Có một nhỏ bé đá quý của sự thật. Càng nhiều thứ trong mỗi thư mục, việc truyền tải tệp chậm hơn sẽ ảnh hưởng đến bất kỳ thứ gì sử dụng filepath, đó là ... mọi thứ. Nhưng đó là nhỏ bé. - Mooing Duck
@MooingDuck Trong khi đúng, điều đó liên quan đến số lượng tệp trong một thư mục, không phải kích thước của tệp hoặc dung lượng còn lại trên ổ đĩa. Hiệu ứng đó không liên quan đến dung lượng đĩa còn lại. Hiệu ứng này cũng bị hạn chế trong phạm vi đối với chính thư mục, nó sẽ không "làm chậm" toàn bộ máy tính. Một số hệ thống tập tin, ext3 / 4 chẳng hạn, sử dụng cây thư mục băm để làm cho tra cứu (bao gồm cả truy cập thư mục con) nhanh chóng, do đó hạn chế phạm vi của hiệu ứng nhiều hơn, ví dụ: chỉ khi danh sách nội dung của một thư mục. - Jason C
Bạn đã xem chính xác video nào? - Loko


Các câu trả lời:


Ở đây, tôi đã viết một cuốn sách một cách tình cờ. Lấy một ít cà phê trước.

Tại sao làm trống không gian đĩa tăng tốc máy tính?

Nó không, ít nhất là không phải của riêng mình. Đây là một huyền thoại thực sự phổ biến. Lý do nó là một huyền thoại phổ biến là bởi vì điền vào ổ cứng của bạn thường xảy ra cùng một lúc như những thứ khác theo truyền thống có thể chậm lại máy tính của bạn. Hiệu năng SSD có xu hướng làm suy giảm khi lấp đầy ổ đĩa, nhưng đây là một vấn đề tương đối mới, độc đáo đối với SSD và không thực sự đáng chú ý đối với người dùng thông thường. Nói chung, dung lượng đĩa trống thấp chỉ là một cá trích đỏ.

Ví dụ, những thứ như:

  • Phân mảnh tệp. Phân mảnh tệp  một vấn đề††, nhưng thiếu không gian trống, trong khi chắc chắn một trong nhiều yếu tố góp phần, không phải duy nhất nguyên nhân của nó. Một số điểm chính ở đây:

    • Cơ hội của một tập tin bị phân mảnh là không phải liên quan đến dung lượng trống còn lại trên ổ đĩa. Chúng có liên quan đến kích thước của khối không gian trống liền kề lớn nhất trên ổ đĩa (ví dụ: "lỗ hổng" không gian trống), dung lượng trống xảy ra để đặt một giới hạn trên. Chúng cũng liên quan đến cách hệ thống tệp xử lý việc phân bổ tệp (bên dưới). Xem xét: Một ổ đĩa đầy đủ 95% với tất cả không gian trống trong một khối liền kề duy nhất có 0% cơ hội phân mảnh một tệp mới ††† (và cơ hội phân mảnh một tệp được nối thêm là độc lập với không gian trống). Một ổ đĩa đầy 5% nhưng với dữ liệu trải đều trên ổ đĩa có khả năng phân mảnh rất cao.

    • Hãy nhớ rằng phân mảnh tệp chỉ ảnh hưởng đến hiệu suất khi các tệp bị phân mảnh đang được truy cập. Xem xét: Bạn có một ổ đĩa đẹp, chống phân mảnh mà vẫn có rất nhiều "lỗ hổng" miễn phí trong đó. Một kịch bản phổ biến. Mọi thứ đang chạy trơn tru. Cuối cùng, mặc dù, bạn nhận được đến một điểm mà không còn nhiều khối không gian trống còn lại. Bạn tải xuống một bộ phim khổng lồ, tệp kết thúc sẽ bị phân mảnh nghiêm trọng. Điều này sẽ không làm chậm máy tính của bạn. Tất cả các tệp ứng dụng của bạn và những tệp như vậy trước đó đều không bị bẻ cong. Điều này có thể làm cho bộ phim mất nhiều thời gian hơn để tải (mặc dù tốc độ bit phim điển hình quá thấp so với tốc độ đọc ổ đĩa cứng mà rất có thể sẽ không đáng kể) và nó có thể ảnh hưởng đến hiệu năng I / O-bound trong khi bộ phimđang tải, nhưng khác hơn thế, không có gì thay đổi.

    • Trong khi phân mảnh tập tin chắc chắn là một vấn đề, thường thì các hiệu ứng được giảm thiểu bởi hệ điều hành và mức đệm phần cứng và bộ nhớ đệm. Bị trì hoãn viết, đọc trước, các chiến lược như trình tìm nạp trước trong Windows, v.v., tất cả đều giúp giảm tác động của phân mảnh. Bạn thường không thực ra kinh nghiệm tác động đáng kể cho đến khi phân mảnh trở nên nghiêm trọng (thậm chí tôi muốn mạo hiểm nói rằng miễn là tệp hoán đổi của bạn không bị phân mảnh, có thể bạn sẽ không bao giờ để ý).

  • Tìm kiếm chỉ mục là một ví dụ khác. Giả sử bạn đã bật lập chỉ mục tự động và một hệ điều hành không xử lý điều này một cách duyên dáng. Khi bạn lưu nhiều nội dung có thể lập chỉ mục vào máy tính của bạn (tài liệu và như vậy), việc lập chỉ mục có thể mất nhiều thời gian hơn và lâu hơn và có thể bắt đầu có ảnh hưởng đến tốc độ cảm nhận của máy tính trong khi đang chạy, cả trong I / O và mức sử dụng CPU . Điều này không liên quan đến không gian trống, nó liên quan đến lượng nội dung có thể lập chỉ mục mà bạn có. Tuy nhiên, việc hết dung lượng trống sẽ đi đôi với việc lưu trữ nhiều nội dung hơn, do đó kết nối sai sẽ được rút ra.

  • Phần mềm diệt vi-rút. Tương tự như ví dụ lập chỉ mục tìm kiếm. Giả sử bạn có phần mềm chống vi-rút được thiết lập để thực hiện quét nền của ổ đĩa. Vì bạn có nhiều nội dung có thể quét được nhiều hơn, tìm kiếm mất nhiều tài nguyên I / O và CPU hơn, có thể ảnh hưởng đến công việc của bạn. Một lần nữa, điều này liên quan đến lượng nội dung có thể quét được mà bạn có. Nhiều nội dung hơn thường bằng không gian trống ít hơn, nhưng thiếu không gian trống không phải là nguyên nhân.

  • Phần mềm đã cài đặt. Giả sử bạn có rất nhiều phần mềm được cài đặt tải khi máy tính của bạn khởi động, do đó làm chậm thời gian khởi động. Sự chậm lại này xảy ra vì rất nhiều phần mềm đang được tải. Tuy nhiên, phần mềm đã cài đặt chiếm không gian ổ đĩa cứng. Do đó, không gian ổ đĩa cứng trống giảm cùng một lúc mà điều này xảy ra, và một lần nữa một kết nối sai có thể được thực hiện dễ dàng.

  • Nhiều ví dụ khác dọc theo những dòng đó, khi được kết hợp với nhau, xuất hiện kết hợp chặt chẽ việc thiếu không gian trống với hiệu suất thấp hơn.

Ở trên minh họa một lý do khác cho rằng đây là một huyền thoại phổ biến: Trong khi thiếu không gian trống không phải là nguyên nhân trực tiếp làm chậm, gỡ cài đặt các ứng dụng khác nhau, xóa nội dung đã được lập chỉ mục hoặc đã quét, v.v. đôi khi (nhưng không phải lúc nào cũng nằm ngoài phạm vi này) câu trả lời) tăng hiệu suất một lần nữa vì lý do không liên quan đến số lượng không gian còn lại. Nhưng điều này cũng tự nhiên giải phóng không gian ổ đĩa cứng. Do đó, một lần nữa, một kết nối rõ ràng (nhưng sai) giữa "không gian trống nhiều hơn" và "máy tính nhanh hơn" có thể được thực hiện.

Xem xét: Nếu bạn có một máy chạy chậm do nhiều phần mềm được cài đặt, vv, và bạn sao chép, chính xác, ổ đĩa cứng của bạn vào một ổ cứng lớn hơn sau đó mở rộng phân vùng của bạn để có thêm không gian trống, máy sẽ không tăng tốc một cách kỳ diệu. Cùng tải phần mềm, các tệp tương tự vẫn bị phân mảnh theo cùng một cách, cùng một chỉ mục tìm kiếm vẫn chạy, không có gì thay đổi mặc dù có nhiều không gian trống hơn.

Liệu nó có liên quan đến việc tìm kiếm một không gian bộ nhớ để cứu mọi thứ không?

Không nó không. Có hai điều rất quan trọng đáng chú ý ở đây:

  1. Ổ cứng của bạn không tìm kiếm xung quanh để tìm địa điểm để đưa mọi thứ. Ổ cứng của bạn là ngu ngốc. Không có gì. Đó là một khối lớn lưu trữ địa chỉ mà một cách mù quáng đặt những thứ mà hệ điều hành của bạn nói với nó và đọc bất cứ điều gì được yêu cầu của nó. Ổ đĩa hiện đại có bộ nhớ đệm và cơ chế đệm phức tạp được thiết kế xung quanh dự đoán hệ điều hành sẽ yêu cầu dựa trên trải nghiệm mà chúng tôi đã đạt được theo thời gian (một số ổ đĩa thậm chí còn biết hệ thống tệp có trên chúng), nhưng về cơ bản, ổ đĩa của bạn chỉ như một viên gạch cồng kềnh với các tính năng hiệu suất tiền thưởng không thường xuyên.

  2. Hệ điều hành của bạn cũng không tìm kiếm địa điểm để đặt mọi thứ. Không có "tìm kiếm". Nhiều nỗ lực đã đi vào giải quyết vấn đề này, vì nó là rất quan trọng để tập tin hiệu suất hệ thống. Cách dữ liệu thực sự được sắp xếp trên ổ đĩa của bạn được xác định bởi hệ thống tập tin. Ví dụ, FAT32 (DOS cũ và Windows PC), NTFS (sau này là Windows), HFS + (Mac), ext4 (một số Linux) và nhiều thứ khác. Ngay cả khái niệm "tệp" và "thư mục" chỉ là các sản phẩm của các hệ thống tệp thông thường - ổ đĩa cứng không biết về những con thú bí ẩn được gọi là "tệp". Chi tiết nằm ngoài phạm vi của câu trả lời này. Nhưng về cơ bản, tất cả các hệ thống tệp thông thường đều có cách theo dõi nơi không gian sẵn có trên ổ đĩa để tìm kiếm không gian trống, trong các trường hợp bình thường (tức là hệ thống tệp có sức khỏe tốt), không cần thiết. Ví dụ:

    • NTFS có một hộp tập tin tổng thể, bao gồm các tệp đặc biệt $Bitmap, v.v. và nhiều dữ liệu meta mô tả ổ đĩa. Về cơ bản, nó theo dõi vị trí các khối miễn phí tiếp theo, để các tệp mới có thể được ghi trực tiếp vào các khối miễn phí mà không phải quét ổ đĩa mỗi lần.

    • Một vi dụ khac, ext4 có cái gọi là "phân bổ bitmap", một cải tiến trên ext2 và ext3 về cơ bản giúp nó trực tiếp xác định vị trí các khối miễn phí thay vì quét danh sách các khối miễn phí. Ext4 cũng hỗ trợ "phân bổ trễ", tức là, đệm dữ liệu trong RAM của hệ điều hành trước khi ghi nó ra ổ đĩa để đưa ra quyết định tốt hơn về nơi đặt nó để giảm phân mảnh.

    • Nhiều ví dụ khác.

hoặc di chuyển mọi thứ xung quanh để tạo ra một không gian liên tục đủ dài để tiết kiệm một cái gì đó?

Không. Điều này không xảy ra, ít nhất là không có bất kỳ hệ thống tệp nào mà tôi biết. Các tệp chỉ bị phân mảnh.

Quá trình "di chuyển mọi thứ xung quanh để tạo nên một không gian tiếp giáp đủ dài để tiết kiệm một cái gì đó" được gọi là chống phân mảnh. Điều này không xảy ra khi tệp được ghi. Điều này xảy ra khi bạn chạy trình chống phân mảnh đĩa của mình. Trên Windows mới hơn, ít nhất, điều này xảy ra tự động theo lịch biểu, nhưng nó không bao giờ được kích hoạt bằng cách viết một tệp.

Có thể tránh di chuyển mọi thứ xung quanh như thế này là chìa khóa để tập tin hiệu năng hệ thống, và là lý do tại sao phân mảnh xảy ra và tại sao phân mảnh tồn tại như một bước riêng biệt.

Tôi nên để trống bao nhiêu dung lượng trống trên đĩa cứng?

Đây là một câu hỏi phức tạp hơn để trả lời, và câu trả lời này đã biến thành một cuốn sách nhỏ.

Quy tắc của ngón tay cái:

  • Đối với tất cả các loại ổ đĩa:

    • Quan trọng nhất, để lại đủ không gian trống cho bạn sử dụng máy tính hiệu quả. Nếu bạn đang hết dung lượng để làm việc, bạn sẽ muốn có một ổ đĩa lớn hơn.
    • Nhiều công cụ chống phân mảnh đĩa đòi hỏi dung lượng trống tối thiểu (tôi nghĩ rằng Windows có yêu cầu 15% trường hợp xấu nhất) để làm việc. Họ sử dụng không gian trống này để tạm thời giữ các tập tin bị phân mảnh khi những thứ khác được sắp xếp lại.
    • Rời khỏi không gian cho các chức năng hệ điều hành khác. Ví dụ: nếu máy của bạn không có nhiều RAM vật lý và bạn đã bật bộ nhớ ảo với tệp trang có kích thước động, bạn sẽ muốn để đủ không gian cho kích thước tối đa của tệp trang. Hoặc nếu bạn có một máy tính xách tay mà bạn đưa vào chế độ ngủ đông, bạn sẽ cần đủ không gian trống cho tệp trạng thái ngủ đông. Những thứ như thế.
  • SSD cụ thể:

    • Đối với độ tin cậy tối ưu (và ở mức độ thấp hơn, hiệu năng), SSD yêu cầu một số không gian trống, mà không đi sâu vào chi tiết, chúng sử dụng để truyền dữ liệu xung quanh ổ đĩa để tránh liên tục viết đến cùng một vị trí (mặc chúng ra). Khái niệm rời khỏi không gian tự do này được gọi là dự phòng quá mức. Nó quan trọng, nhưng trong nhiều ổ SSD, không gian dự phòng bắt buộc đã tồn tại. Đó là, các ổ đĩa thường có một vài chục GB nhiều hơn họ báo cáo cho hệ điều hành. Các ổ đĩa cấp thấp hơn thường yêu cầu bạn rời khỏi vị trí theo cách thủ công không được phân chia không gian, nhưng đối với các ổ đĩa có OP bắt buộc, bạn không cần phải rời khỏi bất kỳ không gian trống nào. Một điều quan trọng cần lưu ý ở đây là không gian được cấp phép thường chỉ được lấy từ không gian không được phân bổ. Vì vậy, nếu phân vùng của bạn chiếm toàn bộ ổ đĩa của bạn và bạn để lại một số không gian trống trên đó, điều đó không luôn luôn đếm. Nhiều lần, quá trình cấp phép thủ công yêu cầu bạn thu nhỏ phân vùng của mình nhỏ hơn kích thước của ổ đĩa. Kiểm tra hướng dẫn sử dụng SSD của bạn để biết chi tiết. TRIM và thu gom rác thải và các hiệu ứng này cũng có hiệu quả nhưng những hiệu ứng này nằm ngoài phạm vi của câu trả lời này.

Cá nhân tôi thường lấy một ổ đĩa lớn hơn khi tôi còn lại khoảng 20-25% dung lượng trống. Điều này không liên quan đến hiệu suất, nó chỉ là khi tôi nhận được đến thời điểm đó, tôi hy vọng rằng tôi có thể sẽ chạy ra khỏi không gian cho dữ liệu sớm, và đó là thời gian để có được một ổ đĩa lớn hơn.

Quan trọng hơn là xem không gian trống là đảm bảo chống phân mảnh theo lịch được bật ở nơi thích hợp (không phải trên SSD), để bạn không bao giờ đến mức nó trở nên đủ nghiêm trọng để ảnh hưởng đến bạn. Điều quan trọng không kém là tránh các chỉnh sửa sai hướng và cho phép hệ điều hành của bạn thực hiện điều đó, ví dụ: không tắt trình tìm nạp trước của Windows (ngoại trừ SSD), v.v.


Có một điều cuối cùng đáng nói đến. Một trong những câu trả lời khác ở đây đã đề cập đến chế độ half-duplex của SATA không cho phép đọc và viết cùng một lúc. Trong khi sự thật, điều này là rất lớn và đơn giản là hầu như không liên quan đến các vấn đề hiệu suất đang được thảo luận ở đây. Điều này có nghĩa là, chỉ đơn giản là dữ liệu không thể được chuyển theo cả hai hướng trên dây cùng một lúc. Tuy nhiên, SATA có một đặc tả khá phức tạp liên quan đến kích thước khối tối thiểu nhỏ (khoảng 8kB mỗi khối trên dây, tôi nghĩ), đọc và ghi hàng đợi hoạt động, v.v., và không loại trừ việc ghi vào bộ đệm xảy ra trong khi đọc đang diễn ra, các hoạt động xen kẽ, v.v.

Bất kỳ sự ngăn chặn nào xảy ra sẽ là do cạnh tranh cho các nguồn lực vật lý, thường được giảm nhẹ bởi nhiều bộ nhớ cache. Chế độ song công của SATA gần như hoàn toàn không liên quan ở đây.


 "Làm chậm" là một thuật ngữ rộng. Ở đây tôi sử dụng nó để chỉ những thứ có I / O-ràng buộc (ví dụ, nếu máy tính của bạn đang ngồi ở đó có số crunching, nội dung của ổ đĩa cứng không có tác động), hoặc CPU bị ràng buộc và cạnh tranh với những thứ liên quan sử dụng CPU cao (ví dụ như quét phần mềm chống vi-rút tấn tệp).

†† SSD  bị ảnh hưởng bởi phân mảnh trong tốc độ truy cập tuần tự thường nhanh hơn truy cập ngẫu nhiên, mặc dù SSD không phải đối mặt với cùng hạn chế như thiết bị cơ khí (thậm chí sau đó, thiếu phân mảnh không đảm bảo truy cập tuần tự, do san lấp mặt bằng ... v.v. ghi chú trong nhận xét). Tuy nhiên, trong hầu hết các kịch bản sử dụng chung, đây không phải là vấn đề. Hiệu suất khác biệt do phân mảnh trên SSD thường không đáng kể đối với những thứ như tải ứng dụng, khởi động máy tính, v.v.

††† Giả sử một hệ thống tệp sane không phân mảnh các tệp có mục đích.


310
2018-04-20 10:08



Câu trả lời rất toàn diện, cảm ơn. Cũng nhờ lời nhắc nhở để lấy một số cà phê, nó đã được nhiều đánh giá cao. - Hashim


Ngoài Lời giải thích của Nathanial Meek đối với ổ cứng, có một kịch bản khác cho SSD.

SSD không nhạy cảm với dữ liệu phân tán vì thời gian truy cập tới bất kỳ vị trí nào trên SSD đều giống nhau. Thời gian truy cập SSD điển hình là 0,1ms so với thời gian truy cập HDD điển hình từ 10 đến 15ms. Đó là, tuy nhiên, nhạy cảm với dữ liệu đã được ghi trên SSD

Không giống như các ổ cứng truyền thống có thể ghi đè dữ liệu hiện có, SSD cần không gian trống hoàn toàn để ghi dữ liệu. Điều đó được thực hiện bằng các chức năng gọi là Trim và Garbage Collection để lọc dữ liệu được đánh dấu là đã xóa. Garbage Collection hoạt động tốt nhất khi kết hợp với một lượng không gian trống nhất định trên SSD. Thường nên sử dụng 15% đến 25% dung lượng miễn phí.

Nếu bộ sưu tập rác không thể hoàn thành công việc đúng lúc, thì mỗi thao tác ghi được bắt đầu bằng việc dọn dẹp không gian đến nơi dữ liệu được cho là được viết. Điều đó tăng gấp đôi thời gian cho mỗi hoạt động viết và làm giảm hiệu suất tổng thể.

Đây là một bài báo xuất sắcgiải thích chức năng của Trim và Garbage Collection


22
2018-04-19 23:37



Lưu ý rằng SSD có thể ghi vào các ô được điền một phần, bằng cách đọc dữ liệu từng phần và viết lại với nhiều văn bản hơn, nhưng nó có xu hướng chỉ làm điều đó khi không thể tránh khỏi. Đây là khóa học cũng khá chậm, và thường chỉ ra rằng ổ đĩa bị phân mảnh quá nặng đến nỗi sẽ mất khá nhiều thời gian để làm cho nó nhanh chóng viết lại. - fluffy
Điều đó cũng sẽ phụ thuộc vào bộ điều khiển. Và vì có quá nhiều biến thể nên tôi không muốn đi vào mức độ chi tiết đó. - whs
15-25% bạn nói đến được gọi là "cung cấp quá mức". Một số ổ đĩa có không gian bắt buộc được phân bổ cho điều này (ví dụ: 1TB EVO 840 có 9% dành riêng và không được báo cáo cho hệ điều hành miễn phí), cho những người bạn không cần phải rời khỏi bất kỳ không gian trống nào. Tôi tin rằng trong một số trường hợp, không gian được cấp phép quá phải không được phân bổ, và đơn giản là để không gian trống trên hệ thống tệp của bạn không cắt nó, bạn cần phải thực sự rời khỏi không gian chưa được phân bổ. - Jason C
Over-provisioning là một thứ khác. Đó là những nands trên stand-by để thay thế Nands khiếm khuyết. 15-25% là cần thiết để giải phóng các khối (trang) và cho san lấp mặt bằng. Bạn có thể muốn đọc ở đây để biết chi tiết ==> thessdreview.com/daily-news/latest-buzz/… - whs
@whs Nó không phải là, và các bài viết bạn liên kết đến không ngụ ý rằng nó được. Không gian được cấp phép quá mức (xem thêm các nguồn trích dẫn trong phần đó, hoặc Google) là nhóm các khối miễn phí, các khối trong hồ bơi này được sử dụng để thu gom rác thải / ghi nhanh, san phẳng và thay thế các tế bào bị lỗi. Để thay thế các tế bào bị lỗi, tất cả đều nằm trong cùng một hồ bơi; một khi nó đầy các tế bào bị lỗi, bạn bắt đầu thấy các lỗi nhất quán. Xem thêm trang trình bày 12 trong bản trình bày này từ LSI; toàn bộ mọi thứ đáng để trải qua, nó trực tiếp đề cập đến chủ đề. - Jason C


Một nơi nào đó bên trong một đĩa cứng truyền thống là một đĩa kim loại quay nơi các bit và byte riêng lẻ thực sự được mã hóa. Khi dữ liệu được thêm vào đĩa, bộ điều khiển đĩa lưu trữ nó ở bên ngoài đĩa trước tiên. Khi dữ liệu mới được thêm vào, không gian được sử dụng di chuyển về phía bên trong của đĩa cuối cùng.

Với điều này trong tâm trí, có hai hiệu ứng gây ra hiệu suất đĩa để giảm khi đĩa đầy lên: Tìm kiếm lần và Vận tốc quay.

Tìm kiếm lần

Để truy cập dữ liệu, đĩa cứng truyền thống phải di chuyển đầu đọc / ghi vào đúng vị trí. Điều này cần có thời gian, được gọi là "thời gian tìm kiếm". Các nhà sản xuất xuất bản thời gian tìm kiếm đĩa của họ, và nó thường chỉ là một vài phần nghìn giây. Điều đó nghe có vẻ không nhiều, nhưng với một máy tính, nó là vĩnh cửu. Nếu bạn phải đọc hoặc viết thư cho nhiều các vị trí đĩa khác nhau để hoàn thành một tác vụ (phổ biến), những thời gian tìm kiếm đó có thể tăng lên đến độ trễ hoặc độ trễ đáng chú ý.

Một ổ đĩa gần như trống sẽ có phần lớn dữ liệu trong hoặc gần cùng một vị trí, thường ở cạnh ngoài gần vị trí còn lại của đầu đọc / ghi. Điều này làm giảm nhu cầu tìm kiếm trên đĩa, giảm đáng kể thời gian tìm kiếm. Một ổ đĩa gần như đầy đủ sẽ không chỉ cần tìm kiếm trên đĩa thường xuyên hơn và với các chuyển động tìm kiếm lớn hơn / dài hơn, nhưng có thể gặp khó khăn trong việc giữ dữ liệu liên quan trong cùng lĩnh vực, tìm kiếm đĩa ngày càng tăng. Cái này được gọi là phân mảnh dữ liệu.

Giải phóng không gian đĩa có thể cải thiện thời gian tìm kiếm bằng cách cho phép dịch vụ chống phân mảnh không chỉ nhanh chóng dọn dẹp các tập tin bị phân mảnh, mà còn để di chuyển các tập tin về phía bên ngoài đĩa, để thời gian tìm kiếm trung bình ngắn hơn.

Vận tốc quay

Ổ cứng quay với tốc độ cố định (thường là 5400rpm hoặc 7200rpm cho máy tính của bạn và 10000rpm hoặc thậm chí 15000 vòng / phút trên máy chủ). Nó cũng mất một số lượng cố định của không gian trên ổ đĩa (nhiều hơn hoặc ít hơn) để lưu trữ một chút. Đối với một đĩa quay với tốc độ quay cố định, bên ngoài của đĩa sẽ có tốc độ tuyến tính nhanh hơn so với bên trong của đĩa. Điều này có nghĩa là các bit gần cạnh ngoài của đĩa di chuyển qua đầu đọc với tốc độ nhanh hơn bit gần tâm đĩa, và do đó đầu đọc / ghi có thể đọc hoặc ghi bit nhanh hơn gần cạnh ngoài của đĩa so với bên trong.

Một ổ đĩa gần như trống rỗng sẽ dành phần lớn thời gian để truy cập các bit gần cạnh ngoài của đĩa nhanh hơn. Một ổ đĩa gần như đầy đủ sẽ dành nhiều thời gian hơn để truy cập các bit gần phần bên trong chậm hơn của đĩa.

Một lần nữa, làm trống không gian đĩa có thể làm cho máy tính nhanh hơn bằng cách cho phép dịch vụ chống phân mảnh chuyển dữ liệu về phía bên ngoài của đĩa, nơi đọc và ghi nhanh hơn.

Đôi khi một đĩa sẽ thực sự di chuyển quá nhanh cho đầu đọc, và hiệu ứng này bị giảm bởi vì các sector gần mép ngoài sẽ bị so le ... được viết ra để cho đầu đọc có thể theo kịp. Nhưng tổng thể điều này nắm giữ.

Cả hai hiệu ứng này đi xuống đến một bộ điều khiển đĩa nhóm dữ liệu với nhau trong phần nhanh hơn của đĩa đầu tiên, và không sử dụng các phần chậm hơn của đĩa cho đến khi nó phải. Khi đĩa đầy, ngày càng nhiều thời gian được sử dụng trong phần chậm của đĩa.

Các hiệu ứng cũng áp dụng cho các ổ đĩa mới. Tất cả những người khác bằng nhau, một ổ 1TB mới nhanh hơn ổ cứng 200GB mới, bởi vì 1TB đang lưu trữ các bit gần nhau hơn và sẽ không lấp đầy các rãnh bên trong nhanh như vậy. Tuy nhiên, cố gắng sử dụng điều này để thông báo quyết định mua hàng hiếm khi hữu ích, vì nhà sản xuất có thể sử dụng nhiều đĩa cứng để đạt kích thước 1TB, đĩa cứng nhỏ hơn để giới hạn hệ thống 1TB đến 200GB, hạn chế bộ điều khiển phần mềm / đĩa để giới hạn đĩa 1TB chỉ còn 200GB không gian, hoặc bán một ổ đĩa với đĩa hoàn chỉnh một phần / thiếu sót từ một ổ đĩa 1TB với rất nhiều lĩnh vực xấu như một ổ đĩa 200GB.

Các yếu tố khác

Điều đáng chú ý ở đây là các hiệu ứng trên khá nhỏ. Các kỹ sư phần cứng máy tính dành nhiều thời gian làm việc để giảm thiểu những vấn đề này, và những thứ như bộ đệm ổ đĩa cứng, bộ nhớ đệm Superfetch và các hệ thống khác đều hoạt động để giảm thiểu vấn đề. Trên một khỏe mạnh với nhiều không gian trống, bạn thậm chí không có khả năng chú ý. Ngoài ra, SSD có đặc điểm hiệu suất hoàn toàn khác nhau. Tuy nhiên, các hiệu ứng tồn tại, và một máy tính không hợp pháp sẽ chậm hơn khi ổ đĩa đầy. Trên một không khỏe mạnh hệ thống, nơi không gian đĩa rất thấp, các hiệu ứng này có thể tạo ra tình trạng đĩa đập, nơi đĩa liên tục tìm kiếm qua lại dữ liệu bị phân mảnh và giải phóng dung lượng đĩa có thể khắc phục điều này, dẫn đến những cải tiến đáng kể và đáng chú ý hơn.

Ngoài ra, việc thêm dữ liệu vào đĩa có nghĩa là các hoạt động khác nhất định, như lập chỉ mục hoặc quét AV và quá trình chống phân mảnh đang thực hiện hơn làm việc ở chế độ nền, ngay cả khi nó hoạt động ở tốc độ gần giống như trước.

Cuối cùng, hiệu suất đĩa là khổng lồ chỉ báo về hiệu suất tổng thể của PC những ngày này ... một chỉ số lớn hơn cả tốc độ CPU. Ngay cả một giảm nhỏ trong thông lượng đĩa sẽ rất thường tương đương với một sự suy giảm thực sự tổng thể trong hiệu suất máy tính. Điều này đặc biệt đúng vì hiệu năng đĩa cứng không thực sự theo kịp với sự cải thiện về bộ nhớ và CPU; Ổ đĩa 7200 RPM đã trở thành chuẩn máy tính để bàn trong hơn một thập kỷ nay. Hơn bao giờ hết, đĩa quay truyền thống là nút cổ chai trong máy tính của bạn.


12
2018-04-21 16:54



Tìm kiếm thời gian tăng không phải là kết quả của không gian trống thấp, đó là kết quả của việc tổ chức dữ liệu. Giải phóng không gian đĩa sẽ không giảm thời gian tìm kiếm nếu dữ liệu của bạn đã có trên tất cả ổ đĩa. Tương tự như vậy, hết dung lượng đĩa sẽ không đột ngột tăng thời gian tìm kiếm dữ liệu không liên quan đã được tổ chức tốt. Quan trọng hơn, rất cảnh giác khi kết hợp một trong hai thứ này với "máy tính chậm". Ví dụ, bạn sẽ không duyệt web nhanh hơn chỉ vì thực thi trình duyệt của bạn không bị phân mảnh và ở bên ngoài ổ đĩa cơ khí, và MP3 của bạn sẽ vẫn phát trơn tru ngay cả trong trường hợp xấu nhất. - Jason C
@JasonC Mỗi điểm trong số đó là sự thật trong sự cô lập, nhưng được lấy như là một phần của toàn bộ hệ thống có thể thêm vào sự chậm chạp thực sự. Ví dụ là xác nhận quyền sở hữu này: "Freeing disk space won't decrease seek times if your data is already all over the drive."Tôi không thể tranh chấp điều đó một mình, nhưng tôi có thể chỉ ra dịch vụ chống phân mảnh giờ đây có thể di chuyển dữ liệu này về phía trước của ổ đĩa, và bây giờ những thứ đó sẽ cải thiện thời gian tìm kiếm. Các điểm khác trong nhận xét của bạn có các bộ đếm tương tự: hết dung lượng đĩa sẽ không tăng tìm kiếm dữ liệu có tổ chức tốt, nhưng điều này giúp ít khả năng dữ liệu được tổ chức hơn. - Joel Coehoorn
@ JasonC Tuy nhiên, tôi đã thêm một vài dòng để trả lời của tôi dựa trên bình luận của bạn, để trực tiếp hơn địa chỉ các câu hỏi tiêu đề. - Joel Coehoorn
Tất nhiên; nhưng điểm chính của tôi là 1) chậm lại là hậu quả của một thứ gì đó khác, mặc dù không gian trống thấp có thể là một trong nhiều yếu tố, và 2) bạn phải thực sự cẩn thận với chủ đề này, đó là một trong những thứ mà mọi người nắm bắt rất nhanh. Nếu người dùng bình thường thông báo rằng máy tính của họ chậm, trong thực tế nó rất bất thường, ví dụ, sự phân mảnh (ví dụ) là nguyên nhân thực sự. Nhưng sau đó họ đọc một loạt các công cụ trên internet, cài đặt ccleaner, 50 đĩa defragmenters, thực hiện một loạt các chỉnh sửa registry xấu vv Cần phải phục vụ cho công chúng ở đây; người khôn ngoan không cần câu trả lời của chúng tôi. - Jason C
Câu trả lời này gợi ý ngắn gọn (kích thước HD giới hạn giả tạo để giữ dữ liệu trên các vùng bên ngoài, nhanh hơn) và một số vấn đề tiềm ẩn với nó. Tôi cũng thích nó vì nó không phủ nhận rằng trong hầu hết các trường hợp, đối với hầu hết người dùng một ổ đĩa bị phân mảnh hơn vì nó trở nên đầy đủ hơn. Mặc dù đáng lưu ý rằng không gian trống không phải là thực tế vấn đề, thật vô nghĩa khi bỏ qua trải nghiệm người dùng chung khi xử lý câu hỏi về trải nghiệm người dùng chung. - Smithers


Tất cả các câu trả lời khác là kỹ thuật đúng - tuy nhiên tôi luôn thấy rằng ví dụ đơn giản này giải thích tốt nhất.

Sắp xếp mọi thứ thực sự dễ dàng nếu bạn có nhiều không gian ... nhưng khó khăn nếu bạn không có không gian ... máy tính cũng cần không gian!

Cổ điển này "15 câu đố"là khó khăn / tốn thời gian bởi vì bạn chỉ có 1 hình vuông miễn phí để trộn các ô xung quanh để có được chúng theo đúng thứ tự 1-15.

hard 15 puzzle

Tuy nhiên, nếu không gian lớn hơn nhiều, bạn có thể giải quyết câu đố này dưới 10 giây.

easy 15 puzzle

Đối với bất cứ ai đã từng chơi với câu đố này ... sự hiểu biết tương tự dường như đến một cách tự nhiên. ;-)


6
2018-04-22 17:24



Đây không phải là tương tự với bất kỳ hành vi hệ thống tập tin mặc dù. Nó phần nào tương tự như quá trình chống phân mảnh chung, tôi đoán, mặc dù chống phân mảnh, liên quan đến câu đố tương tự này, cho phép bạn xóa số khỏi bảng và đặt lại chúng ở bất cứ nơi nào bạn muốn khi bạn giải quyết. - Jason C
Ngoài lời bình luận của Jason ở trên, tôi muốn chỉ ra điều hiển nhiên: câu trả lời này liên quan đến sắp xếp (chống phân mảnh), nhưng không giải thích tại sao truy cập một gạch ngẫu nhiên, cụ thể (ví dụ, ô "3") sẽ nhanh hơn trong trường hợp thứ hai so với trường hợp đầu tiên. - Michael Kjörling
Bởi vì bạn không chỉ truy cập "3". Bạn đang truy cập "1-15". Trong khi tôi thừa nhận đó là không rõ ràng trong ví dụ, tôi đã hiểu nó. Có thể đáng chú ý đặc biệt một cái gì đó như, "câu đố này là tương tự như một tập tin phân mảnh duy nhất." Câu trả lời tuyệt vời, làm cho mọi thứ có thể truy cập một cách tinh thần! - Smithers
Để làm rõ: Vấn đề chính với sự tương tự ở đây là, trong câu đố thực tế, bạn chỉ có thể di chuyển các ô đến các khoảng trống liền kề. Đó là, trong ví dụ nhỏ, chỉ có 6 hoặc 13 có thể được chuyển vào không gian trống. Đó là điều làm cho câu đố trở nên khó khăn; đó là điểm của trò chơi xếp hình. Tuy nhiên, khi chống phân mảnh ổ đĩa cứng, bạn có thể di chuyển, ví dụ: 4 đến không gian trống, 1 đến đúng vị trí, v.v., khá dễ giải quyết, chính xác như nhiều di chuyển như trường hợp có nhiều không gian. Vì vậy, sự tương tự thực sự phá vỡ, kể từ khi mấu chốt của câu đố không áp dụng: Không có hệ thống tập tin hoạt động theo cách này. - Jason C
'Vì bạn không truy cập "3". Bạn đang truy cập "1-15" - điều này là vô nghĩa. Câu trả lời không giải thích tại sao việc truy cập vào một ô ngẫu nhiên cụ thể sẽ nhanh hơn trong trường hợp thứ hai so với trong trường hợp đầu tiên bởi vì câu trả lời là hoàn toàn sai. Không chỉ không chống phân mảnh giới hạn cách câu đố, nhưng "khéo léo / tốn thời gian" chống phân mảnh không có ảnh hưởng đến hiệu năng hệ thống. - Jim Balter


Một máy tính có dung lượng đĩa rất nhỏ, trên ổ đĩa cứng cơ học quay, trong một khoảng thời gian đáng kể, thường sẽ trở nên chậm hơn khi phân mảnh tệp phát triển. Tăng phân mảnh có nghĩa là đọc chậm - rất chậm trong trường hợp cực đoan.

Khi máy tính ở trạng thái này, việc giải phóng dung lượng đĩa sẽ không thực sự khắc phục được sự cố. Bạn cũng cần phải chống phân mảnh đĩa. Trước khi máy tính ở trạng thái này, giải phóng không gian sẽ không tăng tốc; nó sẽ đơn giản làm giảm cơ hội phân mảnh trở thành một vấn đề.

Điều này chỉ áp dụng cho các máy tính có ổ đĩa cứng cơ học quay, vì phân mảnh có tác động không đáng kể đến tốc độ đọc của SSD.


5
2018-04-20 13:46



Câu trả lời hay, đơn giản, gọn gàng và cũng giải quyết được vấn đề cốt lõi chính. - Smithers


Các đĩa flash chắc chắn có thể chậm hơn khi chúng đầy hoặc bị phân mảnh, mặc dù các cơ chế cho sự chậm lại không giống như bất kỳ điều gì sẽ xảy ra với một ổ cứng vật lý. Một chip bộ nhớ flash điển hình sẽ được chia thành một số khối xóa, mỗi khối bao gồm một số lượng lớn (hàng trăm, nếu không phải hàng nghìn) các trang viết và sẽ hỗ trợ ba hoạt động chính:

  1. Đọc trang flash.
  2. Viết vào trang flash trước đây.
  3. Xóa tất cả các trang flash trên một khối.

Mặc dù trong lý thuyết có thể ghi từng ghi vào ổ flash đọc tất cả các trang từ một khối, thay đổi một trang trong bộ đệm, xóa khối và sau đó ghi bộ đệm vào thiết bị flash, cách tiếp cận này sẽ cực kỳ chậm; nó cũng sẽ có khả năng gây mất dữ liệu nếu mất điện giữa thời gian xóa và bắt đầu hoàn thành. Hơn nữa, các phần được viết thường xuyên của đĩa sẽ hao mòn cực nhanh. Nếu 128 sector đầu tiên của FAT được lưu trữ trong một khối flash, ví dụ, biến tần sẽ chết sau khi tổng số ghi cho tất cả các sector đó đạt khoảng 100.000, không nhiều lắm, đặc biệt là 128 sector sẽ giữ khoảng 16,384 mục FAT.

Bởi vì cách tiếp cận trên sẽ làm việc khủng khiếp, ổ đĩa sẽ làm cho nó xác định một số trang trống, ghi dữ liệu ở đó, và bằng cách nào đó ghi lại thực tế rằng khu vực logic trong câu hỏi được lưu trữ tại vị trí đó. Miễn là có đủ các trang trống, thao tác này có thể tiến hành nhanh chóng. Tuy nhiên, nếu các trang trống bị thiếu, ổ đĩa có thể cần phải tìm các khối có chứa ít trang "hoạt động", di chuyển bất kỳ trang trực tiếp nào trong các khối đó sang một số trang trống còn lại và đánh dấu các bản sao cũ là " đã chết"; khi thực hiện điều đó, ổ đĩa sẽ có thể xóa các khối chỉ chứa các trang "đã chết".

Nếu một ổ đĩa chỉ là một nửa đầy đủ, thì chắc chắn sẽ có ít nhất một khối có tối đa một nửa số trang đang hoạt động (và có khả năng sẽ có một số khối chứa ít hoặc không có). Nếu mỗi khối chứa 256 trang và khối tối thiểu chứa 64 trang trực tiếp (một trường hợp vừa phải xấu), thì cứ 192 ngành yêu cầu ghi ổ đĩa sẽ phải thực hiện 64 bản sao khu vực bổ sung và xóa một khối (vì vậy chi phí trung bình của mỗi ngành viết sẽ là khoảng 1,34 trang viết và 0,005 khối xóa). Ngay cả trong trường hợp xấu nhất, tất cả 128 ngành viết sẽ yêu cầu 128 bản sao ngành bổ sung và xóa khối (chi phí trung bình cho mỗi lần viết 2 trang và 0,01 khối xóa)

Nếu ổ đĩa đầy 99% và các khối ít nhất có 248/256 trang trực tiếp thì mỗi 8 sector viết sẽ yêu cầu 248 trang viết bổ sung và xóa khối, do đó tạo ra chi phí cho mỗi lần viết 32 trang và 0.125 khối xóa - một sự suy giảm rất nghiêm trọng.

Tùy thuộc vào dung lượng ổ đĩa "thêm", nó có thể không cho phép mọi thứ trở nên tồi tệ. Tuy nhiên, ngay cả ở điểm mà một ổ đĩa là 75% đầy đủ các trường hợp xấu nhất hiệu suất có thể được nhiều hơn hai lần xấu như hiệu suất trường hợp xấu nhất khi nó là 50% đầy đủ.


4
2018-04-20 16:10





Bạn khá nhiều đóng đinh nó. Bạn có thể nghĩ về một SATA HDD như một phương tiện truyền thông song công bán song công (nghĩa là, nó chỉ có thể chấp nhận hoặc truyền dữ liệu cùng một lúc. Không phải cả.) Vì vậy khi ổ đĩa được giữ trong một thời gian dài tìm kiếm một vị trí miễn phí để ghi để, nó không thể đọc bất kỳ dữ liệu nào cho bạn. Theo quy tắc chung, bạn không nên tải ổ đĩa của mình lên trên 80% dung lượng vì lý do này. Càng đầy đủ càng cao thì càng có nhiều khả năng các tệp mảnh vỡ khiến ổ đĩa bị ràng buộc trong các yêu cầu đọc (do đó ngăn chặn các yêu cầu ghi).

Có một số điều bạn có thể làm để trợ giúp với những vấn đề này:

  • Giảm lượng dữ liệu bạn đã lưu trữ và thường xuyên chống phân mảnh ổ đĩa của bạn.
  • Chuyển sang bộ nhớ flash.
  • Giữ dữ liệu hàng loạt được lưu trữ trên một ổ đĩa riêng biệt từ hệ điều hành của bạn.
  • Vv và vv...

3
2018-04-19 23:12



Khi sử dụng flash, ổ đĩa có thể đọc hoặc ghi (một lần nữa, không phải cả hai) gần như ngay lập tức (9ms là thời gian tìm kiếm khá chuẩn trên ổ cứng, nơi SSD thường có "thời gian tìm kiếm" trong lĩnh vực pico và nano giây) vị trí trên đĩa. en.wikipedia.org/wiki/… - Nathanial Meek
Tiếp tục poing 2: Đây là những gì ví dụ các $Bitmap tệp là trên NTFS hoặc bitmap allocator trong ext4. I E. câu trả lời này đang lan truyền một số thông tin sai lạc nghiêm trọng. 3. Có rất nhiều đọc và viết đệm và bộ nhớ đệm xảy ra mà ám nhiều tranh luận này. Câu trả lời này phần nào mô tả các tác động của phân mảnh, và thậm chí sau đó giới hạn đối với các hệ thống tập tin cũ hơn, nó chắc chắn không phải là không gian trống chính xác. Giải phóng không gian đĩa không tăng tốc máy tính. - Jason C
@ JasonC, bạn nên biến ý kiến ​​của mình thành câu trả lời. - Celos
Điều này không xảy ra: "vì vậy khi ổ đĩa được giữ trong một thời gian dài tìm kiếm một vị trí miễn phí để ghi vào, nó không thể đọc bất kỳ dữ liệu nào cho bạn" - nó không có. Đó không phải là cách hệ thống tập tin hoạt động. Vui lòng chỉnh sửa câu trả lời của bạn để ngừng truyền bá thông tin sai lệch. - RomanSt
@NathanialMeek Bạn đang pha trộn các lớp một chút. :) Chế độ half-duplex của SATA có nghĩa là nó chỉ có thể truyền dữ liệu trên dây theo một hướng. Việc đọc và ghi mức cao hơn được thực hiện trong các khối nhỏ (được gọi là FIS), trong các hàng đợi hoạt động được chỉ định bởi SATA. Chúng có thể không đồng bộ, và việc đọc và ghi nhanh có thể được thực hiện đến và từ bộ nhớ đệm trên bo mạch và chuyển trực tiếp đến bộ nhớ hệ thống qua DMA. Bộ điều khiển SATA cũng được tự do sắp xếp lại các lệnh để tối ưu hóa hiệu quả. Điểm là: Dòng không được giữ bận trong khi thao tác vật lý hoàn tất và chế độ half-duplex của SATA không có tác dụng bạn nghĩ. - Jason C