2Sep
Gdy dowiesz się więcej o komputerach i ich działaniu, od czasu do czasu natkniesz się na coś, co nie ma sensu. Mając to na uwadze, czy opróżnianie przestrzeni dyskowej faktycznie przyspiesza działanie komputerów? Dzisiejszy post SuperUser Q & A ma odpowiedź na zaintrygowane pytanie czytelnika.
Dzisiejsze pytanie &Sesja odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupy Q & A.
Zrzut ekranu dzięki uprzejmości nchenga( Flickr).
Pytanie Czytnik
SuperUser Remi.b chce wiedzieć, dlaczego opróżnianie miejsca na dysku wydaje się przyspieszać pracę komputera:
Oglądałem już wiele filmów i teraz rozumiem, jak działają komputery lepiej. Rozumiem, czym jest pamięć RAM, pamięć lotna i nieulotna oraz proces zamiany. Rozumiem również, dlaczego zwiększenie pamięci RAM przyspiesza działanie komputera.
Nie rozumiem, dlaczego oczyszczanie miejsca na dysku wydaje się przyspieszać działanie komputera. Czy to naprawdę przyspiesza działanie komputera? Jeśli tak, dlaczego to robi?
Czy ma coś wspólnego z wyszukiwaniem miejsca w pamięci, aby oszczędzać rzeczy lub poruszać nimi, aby zrobić wystarczająco długą, ciągłą przestrzeń, aby coś zapisać?Ile wolnego miejsca powinienem zostawić na dysku twardym?
Dlaczego opróżnianie miejsca na dysku wydaje się przyspieszać działanie komputera?
Odpowiedź Autor
SuperUser Jason C ma odpowiedź dla nas:
"Dlaczego opróżnianie przestrzeni dyskowej przyspiesza działanie komputerów?"
Nie, przynajmniej nie na własną rękę.To jest naprawdę powszechny mit. Powodem, dla którego jest to powszechny mit, jest to, że zapełnianie dysku twardego często odbywa się w tym samym czasie co inne rzeczy, które tradycyjnie mogą spowolnić komputer ( A) .Wydajność dysku SSD zmniejsza się w miarę wypełniania, ale jest to stosunkowo nowy problem, unikalny dla dysków SSD i nie jest tak zauważalny dla zwykłych użytkowników. Ogólnie rzecz biorąc, mała ilość wolnego miejsca na dysku jest po prostu czerwonym śledziem.
Na przykład takie rzeczy jak:
1. Fragmentacja pliku. Fragmentacja plików jest problemem ( B) , ale brak wolnego miejsca, choć zdecydowanie jednym z wielu czynników, nie jest jedyną przyczyną.Oto kilka kluczowych punktów:
- Szansa na fragmentację pliku to , a nie w związku z ilością wolnego miejsca na dysku. Są one związane z rozmiarem największego, ciągłego bloku wolnej przestrzeni na dysku( tj. "Dziurami" wolnej przestrzeni), w której wielkość wolnej przestrzeni nakłada górną granicę na .Są one również związane z tym, w jaki sposób system plików obsługuje przydzielanie plików( więcej niż ). Rozważ: Napęd, który jest w 95 procentach pełny z całą wolną przestrzenią w jednym pojedynczym bloku, ma zero procent szans na fragmentację nowego pliku ( C) ( a szansa na fragmentację dołączonego pliku jest niezależna od wolnej przestrzeni).Napełniony na pięć procent dysk, ale równomiernie rozłożony na dysku dysk ma bardzo dużą szansę na fragmentację.
- Należy pamiętać, że fragmentacja plików wpływa tylko na wydajność, gdy pliki pofragmentowane są udostępniane . Rozważ: Masz ładną, defragmentowaną dyskietkę, która wciąż ma w sobie wiele wolnych "dziur".Typowy scenariusz. Wszystko działa sprawnie. Ostatecznie jednak dojdziesz do punktu, w którym nie pozostało więcej dużych bloków wolnego miejsca. Pobierasz ogromny film, plik kończy się poważnym rozdrobnieniem. Nie spowolni to twojego komputera .Wszystkie pliki aplikacji i takie, które były wcześniej w porządku, nie zostaną nagle podzielone. Może to spowodować, że film będzie ładowany dłużej( chociaż typowe szybkości bitowe filmu są tak niskie w porównaniu do szybkości odczytu dysku twardego, że najprawdopodobniej będzie to niezauważalne) i może wpływać na wydajność związaną z I / O podczas ładowania filmu, alepoza tym nic się nie zmienia.
- Chociaż fragmentacja plików jest z pewnością problemem, często efekty są łagodzone przez buforowanie i buforowanie na poziomie sprzętu i sprzętu. Opóźnione zapisywanie, czytanie z wyprzedzeniem, strategie takie jak prefetcher w systemie Windows itp., Wszystkie pomagają zmniejszyć skutki fragmentacji. Generalnie nie faktycznie doświadcza znaczącego wpływu, dopóki fragmentacja nie stanie się poważna( nawet bym powiedział, że tak długo, jak plik wymiany nie zostanie podzielony, prawdopodobnie nigdy nie zauważysz).
2. Indeksowanie wyszukiwania to kolejny przykład. Załóżmy, że masz włączone automatyczne indeksowanie i system operacyjny, który nie radzi sobie z tym z wdziękiem. W miarę zapisywania coraz większej ilości materiałów do indeksowania na komputerze( dokumenty i tym podobne) indeksowanie może trwać dłużej i może mieć wpływ na postrzeganą szybkość działania komputera, zarówno podczas operacji we / wy i procesora..Nie ma to związku z wolną przestrzenią, jest związane z ilością posiadanej zawartości do indeksowania. Jednak wyczerpywanie się wolnego miejsca idzie w parze z przechowywaniem większej ilości treści, dlatego też tworzone jest fałszywe połączenie.
3. Oprogramowanie antywirusowe( podobne do przykładu indeksowania wyszukiwania).Załóżmy, że masz zainstalowane oprogramowanie antywirusowe, które przeprowadza skanowanie dysku w tle. Ponieważ masz coraz więcej materiałów do skanowania, wyszukiwanie wymaga więcej zasobów we / wy i procesora, co może zakłócać pracę.Ponownie, jest to związane z ilością dostępnej treści do skanowania. Więcej treści często równa się mniejszej ilości wolnego miejsca, ale brak wolnej przestrzeni nie jest przyczyną.
4. Zainstalowane oprogramowanie. Załóżmy, że masz dużo zainstalowanego oprogramowania, które ładuje się podczas startu komputera, co spowalnia czas uruchamiania. To spowolnienie dzieje się, ponieważ ładuje się dużo oprogramowania. Zainstalowane oprogramowanie zajmuje jednak miejsce na dysku twardym. W związku z tym wolne miejsce na dysku twardym zmniejsza się w tym samym czasie i ponownie można łatwo nawiązać fałszywe połączenie.
5. Wiele innych przykładów wzdłuż tych linii, które razem wzięte, pojawiają się , aby ściśle kojarzyć brak wolnej przestrzeni z niższą wydajnością.
Powyższe ilustruje inny powód, dla którego jest to taki powszechny mit: podczas gdy brak wolnego miejsca nie jest bezpośrednią przyczyną spowolnienia, deinstalacji różnych aplikacji, usuwania indeksowanych lub skanowanych treści itp. Czasami( ale nie zawsze, poza zakresemtej odpowiedzi) ponownie zwiększa wydajność z przyczyn niezwiązanych z ilością pozostałej wolnej przestrzeni. Ale to także naturalnie zwalnia miejsce na dysku twardym. Dlatego też można uzyskać oczywiste( ale fałszywe) połączenie między "większą ilością wolnego miejsca" a "szybszym komputerem".
Rozważ: Jeśli masz maszynę działającą powoli z powodu dużej ilości zainstalowanego oprogramowania itp., Sklonuj dysk twardy( dokładnie) na większy dysk twardy, a następnie rozwiń swoje partycje, aby uzyskać więcej wolnego miejsca, maszyna nie będzie magicznie zwiększać prędkościw górę.To samo oprogramowanie ładuje się, te same pliki są nadal pofragmentowane w ten sam sposób, ten sam indeks wyszukiwania nadal działa, nic się nie zmienia, mimo że ma więcej wolnego miejsca.
"Czy ma coś wspólnego z poszukiwaniem miejsca w pamięci, aby zaoszczędzić?"
Nie. Nie. Warto zwrócić uwagę na dwie ważne rzeczy:
1. Twardy dysk nie szuka miejsca, w którym można umieścić rzeczy. Twój twardy dysk jest głupi. To nic nie znaczy. Jest to duży blok adresowanej pamięci masowej, która ślepo umieszcza rzeczy tam, gdzie twój system operacyjny to mówi i czyta wszystko, o co go proszą.Nowoczesne dyski mają zaawansowane mechanizmy buforowania i buforowania zaprojektowane do przewidywania, o co system operacyjny będzie prosił, 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 jest na nich), ale zasadniczo, pomyśl o swoimjechać jak duża, głupia klocówka z okazjonalnymi bonusowymi funkcjami.
2. Twój system operacyjny również nie szuka miejsc, w których można umieścić rzeczy. Nie ma szukania. Wiele wysiłku włożono w rozwiązanie tego problemu, ponieważ ma krytyczne 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 DOS i Windows PC), NTFS( późniejsze wersje systemu Windows), HFS +( Mac), ext4( niektóre systemy Linux) i wiele innych. Nawet koncepcja "pliku" i "katalogu" są jedynie produktami typowych systemów plików - dyski twarde nie wiedzą nic o tajemniczych zwierzętach zwanych plikami .Szczegóły wykraczają poza zakres tej odpowiedzi. Zasadniczo wszystkie popularne systemy plików mają sposoby śledzenia, gdzie dostępna jest wolna przestrzeń na dysku, tak aby w normalnych warunkach( tj. Systemy plików w dobrym stanie zdrowia) nie było potrzeby szukania wolnego miejsca. Przykłady:
- NTFS ma główną tabelę plików, która zawiera specjalne pliki $ Bitmap itp. Oraz mnóstwo metadanych opisujących napęd. Zasadniczo śledzi lokalizację kolejnych wolnych bloków, aby nowe pliki mogły być zapisywane bezpośrednio w wolnych blokach bez konieczności skanowania dysku za każdym razem.
- Kolejny przykład: Ext4 ma tak zwaną alokację bitmap, ulepszenie w stosunku do ext2 i ext3, które zasadniczo pomaga bezpośrednio określić, gdzie są wolne bloki zamiast skanować listę wolnych bloków. Ext4 obsługuje również z opóźnionym przydzielaniem , czyli buforowanie danych w pamięci RAM przez system operacyjny przed zapisaniem go na dysku, aby podjąć lepsze decyzje o tym, gdzie umieścić go w celu zmniejszenia fragmentacji.
- Wiele innych przykładów.
"Czy z robieniem rzeczy do zrobienia na wystarczająco długim, ciągłym miejscu, by coś zapisać?"
Nie. Tak się nie dzieje, przynajmniej nie z żadnym systemem plików, którego znam. Pliki kończą się fragmentacją.
Proces "przemieszczania się w celu stworzenia wystarczająco długiej, ciągłej przestrzeni do zapisania czegoś" nazywa się defragmentując .Tak się nie dzieje, gdy pliki są zapisywane. Dzieje się tak, gdy uruchamiasz defragmentator dysku. W nowszych wersjach systemu Windows dzieje się to automatycznie zgodnie z harmonogramem, ale nigdy nie jest uruchamiany przez zapisanie pliku.
Możliwość uniknięcia poruszania , jak to jest kluczem do wydajności systemu plików, i dlaczego fragmentacja dzieje się i dlaczego defragmentacja istnieje jako osobny krok.
"Ile wolnego miejsca powinienem zostawić na dysku twardym?"
Jest to trudniejsze pytanie, na które należy odpowiedzieć( a ta odpowiedź już stała się małą książką).
Zasady gry:
1. Dla wszystkich typów napędów:
- Przede wszystkim pozostaw wystarczająco dużo wolnego miejsca dla , aby skutecznie używać swojego komputera .Jeśli masz mało miejsca do pracy, będziesz potrzebować większego napędu.
- Wiele narzędzi do defragmentacji dysków wymaga minimalnej ilości wolnego miejsca( myślę, że ta z systemem Windows wymaga 15 procent, najgorszy przypadek) do pracy. Używają tej wolnej przestrzeni do tymczasowego przechowywania pofragmentowanych plików, ponieważ inne rzeczy są przestawiane.
- Pozostaw miejsce na inne funkcje systemu operacyjnego. Na przykład, jeśli komputer nie ma dużo fizycznej pamięci RAM, a pamięć wirtualna jest włączona z dynamicznym plikiem stronicowania, należy zostawić wystarczająco dużo miejsca na maksymalny rozmiar pliku strony. Lub jeśli masz laptopa, który przejdziesz w tryb hibernacji, będziesz potrzebował wystarczająco dużo wolnego miejsca na plik stanu hibernacji. Rzeczy jak te.
2. Specyfika SSD:
- Aby zapewnić optymalną niezawodność( i w mniejszym stopniu wydajność), dyski SSD wymagają trochę wolnego miejsca, które bez wchodzenia w zbyt wiele szczegółów używają do rozrzucania danych wokół dysku, aby uniknąć ciągłego pisania doto samo miejsce( co je zużywa).Ta koncepcja pozostawienia wolnego miejsca nazywa się nadmiernym zaopatrzeniem. Ważne jest, że , ale na wielu dyskach SSD, obowiązkowo nadmiarowe miejsce już istnieje .Oznacza to, że dyski często mają kilkadziesiąt GB więcej niż raportują do systemu operacyjnego. Dyski dolne często wymagają ręcznego opuszczenia bez partycji , ale w przypadku napędów z obowiązkowym OP, nie trzeba zostawiać wolnego miejsca .Ważną rzeczą, na którą należy zwrócić uwagę, jest to, że nadmiarowe przestrzenie są często pobierane tylko z niepodzielonej na partycje przestrzeni .Więc jeśli twoja partycja zajmuje cały twój dysk i zostawiasz na niej trochę wolnego miejsca, to nie zawsze liczy .Często ręczne nadpisywanie wymaga zmniejszenia rozmiaru partycji, aby był mniejszy niż rozmiar dysku. Aby uzyskać szczegółowe informacje, zapoznaj się z instrukcją obsługi dysku SSD.TRIM, odśmiecanie i takie też mają efekty, ale te są poza zakresem tej odpowiedzi.
Osobiście zwykle używam większego napędu, gdy pozostało mi około 20-25% wolnego miejsca. Nie jest to związane z wydajnością. Po prostu, gdy dojdę do tego punktu, spodziewam się, że prawdopodobnie wkrótce zabraknie miejsca na dane i nadszedł czas, aby uzyskać większy dysk.
Ważniejsze niż obserwowanie wolnego miejsca jest upewnienie się, że zaplanowana defragmentacja jest włączona, w odpowiednich przypadkach( nie na dyskach SSD), tak aby nigdy nie dojść do punktu, w którym stanie się wystarczająco dotkliwe, aby wpłynąć na ciebie.
Jest jeszcze jedna rzecz, o której warto wspomnieć.Jedna z pozostałych odpowiedzi wspomniała, że tryb half-duplex SATA zapobiega jednoczesnemu czytaniu i pisaniu. Chociaż jest to prawda, jest to znacznie uproszczone i nie ma związku z opisywanymi tutaj problemami z wydajnością.Oznacza to po prostu, że dane nie mogą być przesyłane w obu kierunkach na kablu w tym samym czasie. Jednak SATA ma dość złożoną specyfikację obejmującą małe maksymalne rozmiary bloków( około 8kB na blok na drucie, jak sądzę), kolejki operacji odczytu i zapisu itp. I nie wyklucza zapisywania do buforów w trakcie odczytu, przeplataniaoperacje itp.
Wszelkie występujące blokowania wynikają z rywalizacji o zasoby fizyczne, zwykle ograniczane przez dużą pamięć podręczną.Tryb dupleksowania SATA jest tutaj prawie całkowicie nieistotny.
( A) "Zwolnienie" jest pojęciem szerokim. Używam go, aby odnieść się do rzeczy, które są albo związane z I / O( tj. Jeśli twój komputer siedzi tam, gdzie zgniatają się liczby, zawartość dysku twardego nie ma wpływu) lub jest związany z procesorem i konkuruje z tangencjalnie powiązanymi rzeczami, które mają wysoką wartośćWykorzystanie procesora( np. Skanowanie oprogramowania antywirusowego ton plików).
( B) Dyski SSD są narażone na fragmentację, ponieważ sekwencyjne prędkości dostępu są na ogół szybsze niż dostęp losowy, mimo że dyski SSD nie mają takich samych ograniczeń jak urządzenia mechaniczne( nawet wtedy brak fragmentacji nie gwarantuje dostępu sekwencyjnego z powodu wyrównania zużycia,itp.).Jednak w praktycznie każdym ogólnym scenariuszu nie jest to problemem. Różnice w wydajności spowodowane fragmentacją na dyskach SSD są zazwyczaj pomijalne w przypadku takich zadań, jak ładowanie aplikacji, uruchamianie komputera itp.
( C) Zakładanie systemu plików, który nie powoduje celowego fragmentowania plików.
Przeczytaj uważnie resztę żywej dyskusji na SuperUser poprzez poniższy link!
Czy chcesz coś dodać do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.