Główna » jak » Dlaczego opróżnianie miejsca na dysku przyspiesza pracę komputerów?

    Dlaczego opróżnianie miejsca na dysku przyspiesza pracę komputerów?

    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 z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na zaintrygowane pytanie czytelnika.

    Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupowania witryn z pytaniami i odpowiedziami.

    Zdjęcie dzięki uprzejmości nchenga (Flickr).

    Pytanie

    Czytnik SuperUser Remi.b chce wiedzieć, dlaczego opróżnianie miejsca na dysku wydaje się przyspieszać działanie komputera:

    Oglądałem wiele filmów i teraz rozumiem, jak działają komputery lepiej. Rozumiem, czym jest pamięć RAM, pamięć lotna i nieulotna oraz proces wymiany. 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 tak się dzieje?

    Czy ma to 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ń, by coś zapisać? Ile pustej przestrzeni powinienem zostawić na dysku twardym?

    Dlaczego opróżnianie miejsca na dysku wydaje się przyspieszać działanie komputera?

    Odpowiedź

    Pomocnik SuperUser Jason C ma dla nas odpowiedź:

    "Dlaczego opróżnianie miejsca na dysku 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łyby spowolnić komputer. (ZA). 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 rzeczy takie jak:

    1. Fragmentacja pliku. Fragmentacja plików jest problemem (B), ale brak wolnej przestrzeni, choć zdecydowanie jednym z wielu czynników, nie jest jedyną przyczyną. Oto kilka kluczowych punktów:

    • Szanse na fragmentację pliku są nie związane 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), które to ilość wolnej przestrzeni dzieje się, aby umieścić górną granicę. Są one również związane z tym, w jaki sposób system plików obsługuje przydzielanie plików (więcej poniżej). Rozważać: Napęd, który jest w 95 procentach pełny z całą wolną przestrzenią w jednym pojedynczym bloku, ma zerowy procent szans na fragmentację nowego pliku (DO) (a szansa na fragmentację dołączonego pliku jest niezależna od wolnej przestrzeni). Napełniony na pięć procent dysk, 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 uzyskiwania dostępu do pofragmentowanych plików. Rozważać: Masz ładną, defragmentowaną jazdę, 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. To nie spowolni 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 transmisji bitów 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, ale poza tym nic się nie zmienia.
    • Fragmentacja pliku jest z pewnością problemem, ale 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. Zwykle nie tak właściwie doświadczają znaczącego wpływu, dopóki fragmentacja nie stanie się poważna (powiedziałbym nawet, że dopóki 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, stąd powstaje fałszywe połączenie.

    3. Oprogramowanie antywirusowe (podobne do przykładu indeksowania wyszukiwania). Załóżmy, że masz oprogramowanie antywirusowe skonfigurowane do skanowania w tle dysku. Ponieważ masz coraz więcej treści 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 oznacza mniej wolnej przestrzeni, ale brak wolnej przestrzeni nie jest przyczyną.

    4. Zainstalowane oprogramowanie. Załóżmy, że masz dużo zainstalowanego oprogramowania, które ładuje się podczas uruchamiania 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, zjawić się ściśle powiązać brak wolnego miejsca z niższą wydajnością.

    Powyższe ilustruje kolejną przyczynę tego powszechnego mitu: 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 zakresem ta odpowiedź) ponownie zwiększa wydajność z powodów 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żać: Jeśli masz wolną maszynę 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, urządzenie nie przyspieszy w magiczny sposób. 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 to coś wspólnego z wyszukiwaniem miejsca w pamięci, aby oszczędzać?"

    Nie. Na uwagę zasługują dwie ważne rzeczy:

    1. Twój dysk twardy nie szuka w pobliżu, aby znaleźć miejsca, w których 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 je przekazuje 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 swoich jechać 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 pojęcie "pliku" i "katalogu" są jedynie produktami typowych systemów plików - dyski twarde nie wiedzą nic o tajemniczych zwierzętach zwanych pliki. 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 poszukiwania wolnego miejsca. Przykłady:

    • NTFS ma główną tabelę plików, która zawiera pliki specjalne $ Bitmap, itp. oraz mnóstwo metadanych opisujących napęd. Zasadniczo śledzi lokalizację kolejnych wolnych bloków, dzięki czemu można zapisywać nowe pliki bezpośrednio do wolnych bloków bez konieczności skanowania dysku za każdym razem.
    • Inny 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 także obsługuje opóźniona alokacja, to jest buforowanie danych w pamięci RAM przez system operacyjny przed zapisaniem go na dysku w celu podjęcia lepszych decyzji o tym, gdzie umieścić go w celu ograniczenia fragmentacji.
    • Wiele innych przykładów.

    "Albo z robieniem rzeczy do zrobienia na wystarczająco długim, ciągłym miejscu, żeby coś zapisać?"

    Nie. Tak się nie dzieje, przynajmniej nie z żadnym systemem plików, którego znam. Pliki kończą się fragmentacją.

    Rozpoczyna się proces "przemieszczania się w celu stworzenia wystarczająco długiej, ciągłej przestrzeni do zapisania czegoś" defragmentacja. Nie dzieje się tak, 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.

    Mogąc uniknąć przenoszenie takich elementów jest kluczowe dla wydajności systemu plików i dlatego występuje fragmentacja i dlatego defragmentacja istnieje jako osobny krok.

    "Ile pustej przestrzeni 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ą).

    Reguły kciuka:

    1. Dla wszystkich typów napędów:

    • Co najważniejsze, zostaw wystarczająco dużo wolnego miejsca aby skutecznie korzystać z 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 pamięci do tymczasowego przechowywania pofragmentowanych plików, ponieważ inne elementy są przestawiane.
    • Pozostaw miejsce na inne funkcje systemu operacyjnego. Jeśli na przykład Twój komputer nie ma dużej ilości fizycznej pamięci RAM i masz włączoną pamięć wirtualną z dynamicznie zwymiarowanym plikiem stron, będziesz chciał 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 takie jak te.

    2. Specyfikacja SSD:

    • Aby zapewnić optymalną niezawodność (i w mniejszym stopniu wydajność), dyski SSD wymagają trochę wolnego miejsca, które bez wchodzenia w szczegóły, wykorzystują do rozłożenia danych wokół dysku, aby uniknąć ciągłego zapisywania w tym samym miejscu (co je zużywa) . Ta koncepcja pozostawienia wolnego miejsca nazywa się nadmiernym zaopatrzeniem. To jest ważne, ale na wielu dyskach SSD istnieje już obowiązkowa, nadmiarowa przestrzeń. Oznacza to, że dyski często mają kilkadziesiąt GB więcej niż raportują do systemu operacyjnego. Dyski w dolnej części często wymagają ręcznego opuszczenia niepodzielony na partycje przestrzeń, ale dla napędów z obowiązkowym OP, nie musisz zostawiać wolnego miejsca. Ważną rzeczą, o której należy pamiętać, jest to, że nadmiarowe miejsce jest 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 nadmiarowe przydzielanie 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 wykraczają poza zakres tej odpowiedzi.

    Osobiście zazwyczaj łapię większy dysk, gdy pozostało mi około 20-25% wolnego miejsca. Nie ma to związku z wydajnością, po prostu kiedy dotrę do tego punktu, spodziewam się, że prawdopodobnie wkrótce zabraknie 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 w odpowiednich przypadkach (nie na dyskach SSD), dzięki czemu nigdy nie dojdziesz do punktu, w którym stanie się na tyle poważny, 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 w większości przypadków nie ma związku z omawianymi tutaj problemami z wydajnością. Oznacza to po prostu, że dane nie mogą być przesyłane w obu kierunkach na przewodzie 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 itd., I nie wyklucza zapisów do buforów, które mają miejsce podczas gdy odczyty są w toku, przeplatane operacje itp.

    Każde wystąpienie blokady wynika z rywalizacji o zasoby fizyczne, zwykle ograniczonej przez dużą pamięć podręczną. Tryb dupleksowania SATA jest tutaj prawie całkowicie nieistotny.


    (ZA) "Zwolnienie" jest szerokim pojęciem. Używam go, aby odnieść się do rzeczy, które są albo związane z I / O (tzn. Jeśli twój komputer siedzi w tym miejscu, zgniatając cyfry, zawartość dysku twardego nie ma wpływu) lub na procesor i konkurując z tangencjalnie powiązanymi rzeczami, które mają wysoką wartość Wykorzystanie procesora (np. Skanowanie oprogramowania antywirusowego ton plików).

    (B) Dyski SSD są dotknięte fragmentacją, ponieważ sekwencyjne prędkości dostępu są zwykle 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ównywania zużycia itp.). Jednak w praktycznie każdym scenariuszu ogólnym nie jest to problemem. Różnice w wydajności spowodowane fragmentacją dysków SSD są zazwyczaj pomijalne w przypadku takich zadań, jak ładowanie aplikacji, uruchamianie komputera itp.

    (DO) Zakładając rozsądny system plików, który nie celowo podzieli pliki.

    Zapoznaj się z resztą żywej dyskusji w SuperUser za pomocą poniższego linku!


    Czy masz coś do dodania 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.