Patrzyłem na kilka filmów i teraz rozumiem trochę lepiej, jak działają komputery. Lepiej rozumiem, czym jest pamięć RAM, pamięć ulotna i nieulotna oraz proces zamiany. Rozumiem również, dlaczego zwiększenie pamięci RAM przyspiesza komputer.
Nie rozumiem, dlaczego czyszczenie miejsca na dysku przyspiesza komputer. Czy to? Dlaczego to robi Czy ma to związek z wyszukiwaniem dostępnego miejsca, aby zaoszczędzić? Lub z przenoszeniem rzeczy, aby zrobić wystarczająco długą ciągłą przestrzeń, aby coś zaoszczędzić? Ile wolnego miejsca na dysku twardym powinienem zostawić wolny?
memory
performance
disk-space
Remi.b
źródło
źródło
speeds up the experience of using a PC
.Odpowiedzi:
Tutaj napisałem książkę przez przypadek. Najpierw napij się kawy.
Nie, przynajmniej nie na własną rękę. To jest bardzo powszechny mit. Powodem jest to powszechny mit, bo zapełniać dysku twardego często zdarza się w tym samym czasie co inne rzeczy, które tradycyjnie mogłyby spowolnić † komputer. Wydajność dysku SSD zwykle spada, gdy dysk się zapełnia , ale jest to stosunkowo nowy problem, unikalny dla dysków SSD, i tak naprawdę nie jest zauważalny dla zwykłych użytkowników. Ogólnie rzecz biorąc, mało wolnego miejsca na dysku to tylko czerwony śledź .
Na przykład rzeczy takie jak:
Fragmentacja pliku. Fragmentacja plików to problem †† , ale brak wolnej przestrzeni, choć zdecydowanie jeden z wielu czynników, nie jest jedyną jej przyczyną. Kilka kluczowych punktów tutaj:
Szanse pliku będącego fragmentaryczne są nie związane z ilością wolnego miejsca na dysku. Są one związane z wielkością największego ciągłego bloku wolnego miejsca na dysku (np. „Dziur” wolnego miejsca), na które ilość wolnego miejsca nakłada górną granicę . Są one również związane z tym, jak system plików obsługuje przydzielanie plików (więcej poniżej). Zastanów się: Dysk, który jest w 95% zapełniony całą wolną przestrzenią w jednym ciągłym bloku, ma 0% szans na fragmentację nowego pliku ††† (a szansa na fragmentację dołączonego pliku jest niezależna od wolnej przestrzeni). Dysk, który jest wypełniony w 5%, ale z równomiernie rozłożonymi danymi na dysku, ma bardzo dużą szansę na fragmentację.
Pamiętaj, że fragmentacja plików wpływa tylko na wydajność podczas dostępu do pofragmentowanych plików . Zastanów się: masz ładny, zdefragmentowany dysk, który wciąż ma wiele wolnych „dziur”. Typowy scenariusz. Wszystko działa płynnie. W końcu jednak dochodzisz do punktu, w którym nie ma już dużych bloków wolnego miejsca. Po pobraniu dużego filmu plik jest bardzo rozdrobniony. To nie spowolni twojego komputera. Wszystkie pliki aplikacji i takie, które były wcześniej w porządku, nie zostaną nagle podzielone. To może zrobić filmładowanie trwa dłużej (chociaż typowe szybkości przesyłania filmów są tak niskie w porównaniu do prędkości odczytu dysku twardego, że najprawdopodobniej będą niezauważalne) i może wpływać na wydajność wejścia / wyjścia podczas ładowania filmu , ale poza tym, nic się nie zmienia.
Podczas gdy fragmentacja plików jest z pewnością problemem, często skutki są łagodzone przez buforowanie i buforowanie na poziomie systemu operacyjnego i sprzętu. Opóźnione zapisy, odczyt z wyprzedzeniem, strategie takie jak moduł pobierania wstępnego w systemie Windows itp. Pomagają zmniejszyć skutki fragmentacji. Na ogół nie odczuwasz znaczącego wpływu, dopóki fragmentacja nie stanie się poważna (zaryzykuję nawet stwierdzenie, że dopóki plik wymiany nie zostanie podzielony, prawdopodobnie nigdy tego nie zauważysz).
Indeksowanie wyszukiwania to kolejny przykład. Załóżmy, że masz włączone automatyczne indeksowanie i system operacyjny, który nie obsługuje tego z wdziękiem. W miarę zapisywania coraz większej liczby indeksowanych treści na komputerze (dokumenty itp.) Indeksowanie może trwać coraz dłużej i może mieć wpływ na postrzeganą prędkość komputera podczas pracy, zarówno w zakresie operacji we / wy, jak i użycia procesora . To nie jest związane z wolnym miejscem, jest związane z ilością posiadanej przez Ciebie zawartości do indeksowania. Jednak wyczerpywanie się wolnego miejsca idzie w parze z przechowywaniem większej ilości treści, dlatego powstaje fałszywe połączenie.
Oprogramowanie antywirusowe. Podobne do przykładu indeksowania wyszukiwania. Załóżmy, że masz skonfigurowane oprogramowanie antywirusowe do skanowania dysku w tle. Ponieważ masz coraz więcej możliwych do skanowania treści, wyszukiwanie wymaga więcej zasobów we / wy i zasobów procesora, co może zakłócać pracę. Ponownie, jest to związane z ilością posiadanej zawartości do skanowania. Więcej treści często oznacza mniej wolnego miejsca, ale brak wolnego miejsca nie jest przyczyną.
Zainstalowane oprogramowanie. Załóżmy, że masz zainstalowane wiele programów, które ładują się podczas uruchamiania komputera, co spowalnia czas uruchamiania. To spowolnienie ma miejsce, ponieważ ładuje się dużo oprogramowania. Zainstalowane oprogramowanie zajmuje jednak miejsce na dysku twardym. Dlatego ilość wolnego miejsca na dysku twardym zmniejsza się w tym samym czasie, co się dzieje, i ponownie można łatwo nawiązać fałszywe połączenie.
Powyższe ilustrują kolejny powód, dla którego jest to tak powszechny mit: chociaż brak wolnej przestrzeni nie jest bezpośrednią przyczyną spowolnienia, odinstalowywania różnych aplikacji, usuwania indeksowanych lub skanowanych treści itp. Czasami (ale nie zawsze; poza zakresem tego odpowiedź) ponownie zwiększa wydajność z powodów niezwiązanych z ilością pozostałego wolnego miejsca. Ale to naturalnie uwalnia miejsce na dysku twardym. Dlatego ponownie można uzyskać pozorne (ale fałszywe) połączenie między „większą ilością wolnego miejsca” a „szybszym komputerem”.
Zastanów się: jeśli masz maszynę działającą powoli z powodu dużej ilości zainstalowanego oprogramowania itp. I dokładnie sklonujesz swój dysk twardy na większy dysk twardy, a następnie rozszerzysz partycje, aby uzyskać więcej wolnego miejsca, maszyna nie magicznie przyspieszy w górę. Ładuje się to samo oprogramowanie, te same pliki są nadal pofragmentowane w ten sam sposób, nadal działa ten sam indeksator wyszukiwania, nic się nie zmienia pomimo większej ilości wolnego miejsca.
Nie. Warto zwrócić uwagę na dwie bardzo ważne rzeczy:
Twój dysk twardy nie szuka w celu znalezienia miejsc do umieszczenia rzeczy. Twój dysk twardy jest głupi. To nic. Jest to duży blok adresowanej pamięci, który ślepo umieszcza rzeczy tam, gdzie mówi to twój system operacyjny i odczytuje wszystko, o co jest proszony. Nowoczesne dyski mają wyrafinowane mechanizmy buforowania i buforowania zaprojektowane w celu przewidywania, o co system operacyjny poprosi w oparciu o doświadczenie, które zdobyliśmy w miarę upływu czasu (niektóre dyski są nawet świadome systemu plików, który na nich działa), ale zasadniczo pomyśl o Twój dysk to tylko głupia cegła z okazjonalnymi dodatkowymi funkcjami wydajności.
Twój system operacyjny również nie szuka miejsc do umieszczenia rzeczy. Nie ma „wyszukiwania”. Wiele wysiłku włożono w rozwiązanie tego problemu, ponieważ ma on zasadnicze znaczenie dla wydajności systemu plików. Sposób, w jaki dane są faktycznie zorganizowane na dysku, zależy od systemu plików. Na przykład FAT32 (stare komputery DOS i Windows), NTFS (później Windows), HFS + (Mac), ext4 (niektóre Linuxes) i wiele innych. Nawet pojęcie „pliku” i „katalogu” są jedynie produktami typowych systemów plików - dyski twarde nie wiedzą o tajemniczych bestiach zwanych „plikami”. Szczegóły są poza zakresem tej odpowiedzi. Zasadniczo jednak wszystkie popularne systemy plików mają sposoby śledzenia, gdzie dostępna przestrzeń znajduje się na dysku, tak więc wyszukiwanie wolnego miejsca jest w normalnych okolicznościach (tj. Systemy plików w dobrym stanie) niepotrzebne. Przykłady:
NTFS ma główną tabelę plików , która zawiera pliki specjalne
$Bitmap
itp. Oraz mnóstwo metadanych opisujących dysk. Zasadniczo śledzi, gdzie znajdują się kolejne wolne bloki, dzięki czemu nowe pliki można zapisywać bezpośrednio w wolnych blokach bez konieczności skanowania dysku za każdym razem.Kolejny przykład, ext4 ma tak zwany „alokator bitmap” , ulepszenie w stosunku do ext2 i ext3, które w zasadzie pomaga bezpośrednio ustalić, gdzie są wolne bloki zamiast skanować listę wolnych bloków. Ext4 obsługuje również „opóźniony przydział”, to znaczy buforowanie danych w pamięci RAM przez system operacyjny przed zapisaniem ich na dysku w celu podjęcia lepszych decyzji, gdzie umieścić je w celu zmniejszenia fragmentacji.
Wiele innych przykładów.
Nie. To się nie zdarza, przynajmniej nie w żadnym systemie plików, o którym wiem. Pliki po prostu sfragmentowane.
Proces „przenoszenia rzeczy w celu utworzenia wystarczająco długiej, ciągłej przestrzeni do zapisania czegoś” nazywa się defragmentacją . Nie dzieje się tak, gdy pliki są zapisywane. Dzieje się tak po uruchomieniu defragmentatora dysku. Przynajmniej w nowszym systemie Windows dzieje się to automatycznie zgodnie z harmonogramem, ale nigdy nie jest uruchamiane przez zapisanie pliku.
Możliwość uniknięcia takich zmian jest kluczem do wydajności systemu plików i dlatego fragmentacja ma miejsce i dlaczego defragmentacja istnieje jako osobny krok.
To trudniejsze pytanie, na które należy odpowiedzieć, a ta odpowiedź już zamieniła się w małą książkę.
Reguły kciuka:
Dla wszystkich typów napędów:
Specyficzne dla SSD:
Osobiście zazwyczaj biorę większy dysk, gdy mam około 20-25% wolnego miejsca. Nie ma to związku z wydajnością, po prostu doszedłem do tego punktu, spodziewam się, że prawdopodobnie wkrótce zabraknie mi miejsca na dane i nadszedł czas, aby uzyskać większy dysk.
Ważniejsze niż oglądanie wolnego miejsca jest upewnienie się, że zaplanowana defragmentacja jest włączona tam, gdzie jest to właściwe (nie na dyskach SSD), dzięki czemu nigdy nie dojdziesz do punktu, w którym stanie się ona wystarczająco tragiczna, aby wpłynąć na ciebie. Równie ważne jest unikanie błędnych poprawek i pozwalanie systemowi operacyjnemu na działanie, np. Nie wyłączaj preselektora systemu Windows ( z wyjątkiem dysków SSD ) itp.
Jest jeszcze jedna rzecz, o której warto wspomnieć. Jedna z innych odpowiedzi tutaj wspomniała, że tryb półdupleksowy SATA zapobiega jednoczesnemu czytaniu i pisaniu. Chociaż jest to prawda, jest to znacznie uproszczone i w większości nie ma związku z omawianymi tutaj problemami z wydajnością. Oznacza to po prostu, że danych nie można przesyłać w obu kierunkach jednocześnie za pomocą przewodu . Jednak SATA ma dość złożoną specyfikację, która obejmuje małe maksymalne rozmiary bloków (około 8 kB na blok na przewodzie, myślę), kolejki operacji odczytu i zapisu itp., I nie wyklucza zapisów do buforów występujących podczas odczytu, przeplatanych operacje itp.
Każde blokowanie nastąpi z powodu rywalizacji o zasoby fizyczne, zwykle ograniczonej przez dużą pamięć podręczną. Tryb dupleks SATA jest tutaj prawie całkowicie nieistotny.
† „Zwolnienie” jest szerokim pojęciem. Tutaj używam go w odniesieniu do rzeczy, które są albo związane z I / O (np. Jeśli twój komputer siedzi tam chrupiące liczby, zawartość dysku twardego nie ma wpływu), lub związane z procesorem i konkurują ze stycznie powiązanymi rzeczami, które mają wysokie zużycie procesora (np. oprogramowanie antywirusowe skanuje mnóstwo plików).
†† SSD są dotknięte przez rozdrobnienie w tym dostępu sekwencyjnego prędkości są zwykle szybsze niż losowego dostępu, mimo SSD nie stoi takie same ograniczenia jak urządzenia mechaniczne (nawet wtedy, brak fragmentacji nie gwarantuje dostęp sekwencyjny, ze względu na zużycie wypoziomowanie itp , jak zauważa James Snell w komentarzach). Jednak praktycznie w każdym ogólnym scenariuszu użytkowania nie stanowi to problemu. Różnice w wydajności wynikające z fragmentacji dysków SSD są zwykle nieistotne w przypadku ładowania aplikacji, uruchamiania komputera itp.
††† Zakładając rozsądny system plików, który celowo nie dzieli plików.
źródło
Oprócz wyjaśnienia Nathanial Meek dla dysków twardych istnieje inny scenariusz dla dysków SSD.
Dyski SSD nie są wrażliwe na rozproszone dane, ponieważ czas dostępu do dowolnego miejsca na dysku SSD jest taki sam. Typowy czas dostępu do dysku SSD wynosi 0,1 ms w porównaniu do typowego czasu dostępu do dysku twardego od 10 do 15 ms. Jest jednak wrażliwy na dane, które są już zapisane na dysku SSD
W przeciwieństwie do tradycyjnych dysków twardych, które mogą zastępować istniejące dane, dysk SSD potrzebuje całkowicie pustej przestrzeni do zapisu danych. Odbywa się to za pomocą funkcji o nazwie Trim and Garbage Collection, które usuwają dane oznaczone jako usunięte. Czyszczenie pamięci działa najlepiej w połączeniu z pewną ilością wolnego miejsca na dysku SSD. Zwykle zaleca się 15% do 25% wolnego miejsca.
Jeśli wyrzucanie elementów nie jest w stanie ukończyć zadania na czas, każda operacja zapisu poprzedzona jest czyszczeniem miejsca, w którym dane mają zostać zapisane. Podwaja to czas każdej operacji zapisu i obniża ogólną wydajność.
Oto doskonały artykuł wyjaśniający działanie funkcji Trim and Garbage Collection
źródło
Gdzieś wewnątrz tradycyjnego dysku twardego znajduje się wirujący metalowy talerz, na którym poszczególne bity i bajty są faktycznie kodowane. Gdy dane są dodawane do talerza, kontroler dysku najpierw zapisuje je na zewnątrz dysku. Gdy dodawane są nowe dane, ostatnio używane jest miejsce w kierunku wnętrza dysku.
Mając to na uwadze, istnieją dwa efekty, które powodują spadek wydajności dysku w miarę zapełniania się dysku: Czasy wyszukiwania i Prędkość obrotowa .
Szukaj razy
Aby uzyskać dostęp do danych, tradycyjny dysk twardy musi fizycznie przesunąć głowicę odczytu / zapisu do właściwej pozycji. To wymaga czasu, zwanego „czasem poszukiwania”. Producenci publikują czasy wyszukiwania dla swoich dysków, a zwykle jest to zaledwie kilka milisekund. To może nie brzmieć dużo, ale dla komputera to wieczność. Jeśli musisz czytać lub zapisywać w wielu różnych lokalizacjach dysków, aby wykonać zadanie (co jest częste), te czasy szukania mogą zsumować zauważalne opóźnienie lub opóźnienie.
Dysk, który jest prawie pusty, będzie miał większość danych w tej samej pozycji lub w jej pobliżu, zazwyczaj na zewnętrznej krawędzi w pobliżu spoczynkowej pozycji głowicy odczytu / zapisu. Zmniejsza to potrzebę wyszukiwania na dysku, znacznie skracając czas wyszukiwania. Napęd, który jest prawie pełny, nie tylko będzie musiał częściej wyszukiwać na dysku i wykonywać większe / dłuższe ruchy wyszukiwania, ale może mieć problemy z utrzymywaniem powiązanych danych w tym samym sektorze, co dodatkowo zwiększa liczbę poszukiwań na dysku. Nazywa się to fragmentarycznymi danymi.
Zwolnienie miejsca na dysku może skrócić czas wyszukiwania, umożliwiając usłudze defragmentacji nie tylko szybsze czyszczenie pofragmentowanych plików, ale także przenoszenie plików na zewnątrz dysku, dzięki czemu średni czas wyszukiwania jest krótszy.
Prędkość obrotowa
Dyski twarde obracają się ze stałą szybkością (zwykle 5400 obr./min lub 7200 obr./min dla twojego komputera i 10000 obr./min lub nawet 15000 obr./min na serwerze). Zapisanie jednego bitu zajmuje także określoną ilość miejsca na dysku (mniej więcej). W przypadku dysku obracającego się ze stałą prędkością obrotową, zewnętrzna strona dysku będzie miała szybszą prędkość liniową niż wnętrze dysku. Oznacza to, że bity w pobliżu zewnętrznej krawędzi dysku przesuwają się szybciej niż głowica odczytu niż bity w pobliżu środka dysku, a zatem głowica odczytu / zapisu może odczytywać lub zapisywać bity szybciej w pobliżu zewnętrznej krawędzi dysku niż wewnętrzny.
Napęd, który jest prawie pusty, spędza większość czasu na uzyskiwaniu dostępu do bitów w pobliżu szybszej zewnętrznej krawędzi dysku. Napęd, który jest prawie pełny, poświęci więcej czasu na dostęp do bitów w pobliżu wolniejszej wewnętrznej części dysku.
Ponownie, opróżnienie miejsca na dysku może przyspieszyć komputer, umożliwiając usłudze defragmentacji przenoszenie danych na zewnątrz dysku, gdzie odczyty i zapisy są szybsze.
Czasami dysk faktycznie porusza się zbyt szybko, aby mógł odczytać go głowica odczytu, a efekt ten jest zmniejszony, ponieważ sektory w pobliżu zewnętrznej krawędzi zostaną przesunięte ... zapisane w kolejności, aby głowica odczytu mogła nadążyć. Ale ogólnie tak jest.
Oba te efekty sprowadzają się do tego, że kontroler dysku grupuje dane najpierw w szybszej części dysku i nie używa wolniejszych części dysku, dopóki nie będzie to konieczne. W miarę zapełniania się dysku coraz więcej czasu spędza się w wolniejszej części dysku.
Efekty dotyczą także nowych dysków. Wszystko inne jest jednakowe, nowy dysk 1 TB jest szybszy niż nowy dysk 200 GB, ponieważ 1 TB przechowuje bity bliżej siebie i nie zapełni się tak szybko na wewnętrznych ścieżkach. Jednak próba wykorzystania tego do poinformowania o decyzjach zakupowych jest rzadko pomocna, ponieważ producenci mogą używać wielu talerzy, aby osiągnąć rozmiar 1 TB, mniejszych talerzy, aby ograniczyć system 1 TB do 200 GB, ograniczenia oprogramowania / kontrolera dysku, aby ograniczyć talerz 1 TB do jedynie 200 GB miejsca lub sprzedaj dysk z częściowo ukończonymi / wadliwymi talerzami z dysku o pojemności 1 TB z wieloma uszkodzonymi sektorami jako dysk o pojemności 200 GB.
Inne czynniki
Warto tutaj zauważyć, że powyższe efekty są dość małe. Inżynierowie sprzętu komputerowego spędzają dużo czasu, pracując nad tym, jak zminimalizować te problemy, a takie rzeczy, jak bufory dysków twardych, buforowanie Superfetch i inne systemy działają w celu zminimalizowania problemu. W zdrowym systemie z dużą ilością wolnego miejsca prawdopodobnie nawet nie zauważysz. Ponadto dyski SSD mają zupełnie inną charakterystykę wydajności. Jednak efekty istnieją, a komputer staje się wolniejszy w miarę zapełniania się dysku. W niezdrowym systemie, w którym miejsce na dysku jest bardzo małe, efekty te mogą spowodować powstanie przełomu na dysku, w którym dysk nieustannie przeszukuje fragmentaryczne dane, a zwolnienie miejsca na dysku może to naprawić, powodując bardziej dramatyczne i zauważalne ulepszenia .
Ponadto dodanie danych na dysk oznacza, że niektóre inne operacje, takie jak indeksowanie lub skanowanie AV i procesy defragmentacji, wykonują tylko więcej pracy w tle, nawet jeśli robi to z prędkością zbliżoną do poprzedniej.
Wreszcie wydajność dysku jest ogromnym wskaźnikiem ogólnej wydajności komputera w dzisiejszych czasach ... nawet większym wskaźnikiem niż szybkość procesora. Nawet niewielki spadek przepustowości dysku bardzo często odpowiada rzeczywistemu odczuwalnemu ogólnemu spadkowi wydajności komputera. Jest to szczególnie prawdziwe, ponieważ wydajność dysku twardego nie nadąża za usprawnieniami procesora i pamięci; Dysk o prędkości 7200 obr./min jest standardem od ponad dekady. Bardziej niż kiedykolwiek ten tradycyjny wirujący dysk stanowi wąskie gardło w twoim komputerze.
źródło
Freeing disk space won't decrease seek times if your data is already all over the drive.
” Nie mogę zaprzeczyć, że sama w sobie, ale mogę podkreślić usługa Defrag mogą teraz przenieść te dane do przodu napędu, a teraz te rzeczy będą poprawić szukać razy. Inne punkty w twoim komentarzu mają podobne liczniki: brak miejsca na dysku nie zwiększy liczby poszukiwań dobrze zorganizowanych danych, ale zmniejsza prawdopodobieństwo, że dane pozostaną zorganizowane.Wszystkie pozostałe odpowiedzi są technicznie poprawne - jednak zawsze uważałem, że ten prosty przykład najlepiej to wyjaśnia.
Sortowanie rzeczy jest naprawdę łatwe, jeśli masz dużo miejsca ... ale trudne, jeśli nie masz miejsca ... komputery też potrzebują miejsca !
Ta klasyczna „ 15 puzzli ” jest trudna / czasochłonna, ponieważ masz tylko 1 wolny kwadrat, aby wtasować płytki, aby uzyskać je w odpowiedniej kolejności 1-15.
Jeśli jednak przestrzeń była znacznie większa, możesz rozwiązać tę zagadkę w czasie krótszym niż 10 sekund.
Dla każdego, kto kiedykolwiek bawił się tą łamigłówką ... zrozumienie analogii wydaje się przychodzić naturalnie. ;-)
źródło
Komputer, który ma bardzo mało miejsca na dysku, na wirującym mechanicznym dysku twardym, przez znaczną część czasu, ogólnie będzie wolniejszy w miarę zwiększania się fragmentacji plików. Zwiększona fragmentacja oznacza powolne odczyty - bardzo wolne w skrajnych przypadkach.
Gdy komputer znajdzie się w tym stanie, zwolnienie miejsca na dysku nie naprawi problemu. Trzeba też defragmentować dysk. Zanim komputer znajdzie się w tym stanie, zwolnienie miejsca nie przyspieszy go; po prostu zmniejszy ryzyko fragmentacji, która stanie się problemem.
Dotyczy to tylko komputerów z obracającymi się mechanicznymi dyskami twardymi, ponieważ fragmentacja ma znikomy wpływ na szybkość odczytu dysków SSD.
źródło
Dyski flash mogą zdecydowanie zwolnić, gdy są pełne lub pofragmentowane, chociaż mechanizmy spowalniania są inne niż w przypadku fizycznego dysku twardego. Typowy układ pamięci flash zostanie podzielony na pewną liczbę bloków wymazywania, z których każdy składa się z dużej liczby (setek, jeśli nie tysięcy) stron zapisu i będzie obsługiwał trzy podstawowe operacje:
Chociaż teoretycznie byłoby możliwe, aby każdy zapis na dysku flash odczytał wszystkie strony z bloku, zmienił jedną w buforze, usunął blok, a następnie zapisał bufor z powrotem na urządzeniu flash, takie podejście byłoby niezwykle powolny; prawdopodobnie spowodowałoby to utratę danych, gdyby doszło do utraty zasilania między rozpoczęciem kasowania a zakończeniem zapisu. Ponadto często zapisywane części dysku bardzo szybko się zużyją. Gdyby na przykład pierwsze 128 sektorów FAT zapisano w jednym bloku pamięci flash, dysk byłby martwy, gdy całkowita liczba zapisów we wszystkich tych sektorach osiągnęła około 100 000, co nie jest bardzo duże, zwłaszcza biorąc pod uwagę, że 128 sektorów pomieści około 16 384 pozycji FAT.
Ponieważ powyższe podejście działałoby okropnie, dysk sprawi, że zidentyfikuje pustą stronę, zapisze tam dane i jakoś zapisze fakt, że dany sektor logiczny jest przechowywany w tej lokalizacji. Dopóki dostępnych jest wystarczająca liczba pustych stron, operacja ta może przebiegać szybko. Jeśli jednak brakuje pustych stron, dysk może potrzebować znaleźć bloki, które zawierają stosunkowo niewiele stron „aktywnych”, przenieść wszystkie strony aktywne w tych blokach do niektórych pozostałych pustych stron i oznaczyć stare kopie jako „ nie żyje"; po wykonaniu tej czynności dysk będzie mógł usuwać bloki zawierające tylko „martwe” strony.
Jeśli dysk jest tylko w połowie pełny, z pewnością będzie co najmniej jeden blok, który jest w połowie pełny z aktywnymi stronami (i prawdopodobnie będzie kilka bloków, które zawierają niewiele lub wcale). Jeśli każdy blok zawiera 256 stron, a najmniej pełne bloki mieszczą 64 strony aktywne (przypadek umiarkowanie zły), to dla każdego 192 żądanego sektora pisze, dysk będzie musiał wykonać 64 dodatkowe kopie sektorów i jedno skasowanie bloku (więc średni koszt każdego zapisu w sektorze to około 1,34 zapisów stron i 0,005 wymazywania bloków). Nawet w najgorszym przypadku każde 128 zapisów sektora wymagałoby 128 dodatkowych kopii sektora i wymazywania bloku (średni koszt zapisu 2 stron zapisu i 0,01 wymazywania bloku)
Jeśli dysk jest zapełniony w 99%, a najmniej pełne bloki mają 248/256 stron aktywnych, wówczas każde 8 zapisów sektorowych będzie wymagało 248 dodatkowych zapisów stron i wymazywania bloku, co daje koszt zapisu 32 zapisów stron i 0,125 bloku kasuje - bardzo poważne spowolnienie.
W zależności od tego, ile „dodatkowej” przestrzeni dyskowej ma dysk, może to nie pozwolić na pogorszenie sytuacji. Niemniej jednak nawet w miejscu, w którym dysk jest pełny w 75%, wydajność w najgorszym przypadku może być ponad dwukrotnie słabsza niż w najgorszym przypadku, gdy jest pełna w 50%.
źródło
Prawie to przybiłeś. Możesz myśleć o dysku twardym SATA jako o półdupleksowym medium komunikacyjnym (to znaczy, że może on akceptować lub przesyłać dane tylko naraz. Nie oba.), Więc gdy dysk jest przytrzymywany przez dłuższy czas w poszukiwaniu wolnego miejsca do zapisu nie może odczytać żadnych danych. Z tego powodu nie należy ładować dysków o pojemności przekraczającej 80%. Im bardziej jest pełny, tym większe jest prawdopodobieństwo, że fragmentuje pliki, co powoduje wiązanie się napędu podczas żądań odczytu (blokując w ten sposób żądania zapisu).
Istnieje wiele rzeczy, które możesz zrobić, aby pomóc w rozwiązaniu tych problemów:
źródło
$Bitmap
Plik w systemie plików NTFS lub w programie do przydzielania map bitowych w ext4. Tj. Odpowiedź rozpowszechnia poważne dezinformacje. 3. Jest dużo buforowania odczytu i zapisu oraz buforowania, co czyni dużą część tego sporu. Ta odpowiedź w pewien sposób opisuje skutki fragmentacji, a nawet wtedy, gdy ogranicza się do starszych systemów plików, z pewnością nie jest to dokładne wolne miejsce. Zwolnienie miejsca na dysku nie przyspiesza komputera.Po krótkim i słodkim podejściu moja uproszczona odpowiedź (ściśle ograniczona do głównego zamieszania) brzmi:
Tak długo jak twój
Wtedy nie możesz odróżnić wydajności 80% pustego dysku od 30% pustego dysku i nie powinieneś martwić się niczym innym, jak przechowywanie coraz większej liczby nowych danych.
Wszystko, co będzie wymagało więcej miejsca, doprowadzi do niskiej wydajności, ponieważ teraz może brakować dostępnej przestrzeni.
Oczywiście czyszczenie dysku za pomocą narzędzia jest dobre, ponieważ:
Wszystkie te (i wiele innych) powodów prowadzą do gorszej wydajności, ponieważ wszystkie one mylą system operacyjny, znajdując odpowiedni zestaw bitów do pracy.
źródło
Jeden wpływ na wirujące dyski, o którym nie wspomniałem: Szybkość dostępu i prędkość przesyłania danych są różne w różnych częściach dysku.
Dysk obraca się ze stałą prędkością. Ścieżki na zewnątrz dysku są dłuższe i dlatego mogą pomieścić więcej danych na ścieżkę niż ścieżki wewnątrz. Jeśli twój dysk może odczytać 100 MB / s z najbardziej oddalonych ścieżek, prędkość na najbardziej wewnętrznych torach będzie mniejsza niż 50 MB / sek.
Jednocześnie istnieje mniej ścieżek między 1 GB danych na zewnętrznych ścieżkach dysku niż między 1 GB danych na najbardziej wewnętrznych torach. Tak więc średnio w przypadku danych przechowywanych na zewnątrz potrzebny będzie mniejszy ruch głowy niż w przypadku danych na najbardziej wewnętrznych torach.
System operacyjny spróbuje użyć najbardziej oddalonych ścieżek, jeśli to możliwe. Oczywiście nie jest możliwe, jeśli dysk jest pełny. Usunięcie danych udostępni miejsce, w którym prędkość przesyłania jest wyższa, i przyspieszy działanie. Z tego samego powodu powinieneś kupić wirujące dyski twarde, które są większe niż potrzebne, jeśli chcesz prędkości (o ile jest to przystępne cenowo), ponieważ skończysz tylko na najszybszych częściach dysku.
źródło