Co faktycznie robi defrag?

13

Co tak naprawdę robi defrag? Czy łączy pliki, które są wykonywane sekwencyjnie bliżej siebie?

użytkownik3183
źródło

Odpowiedzi:

19

Właściwie łączy wszystkie różne części JEDNEGO pliku, więc jeśli ten konkretny plik jest potrzebny, dysk twardy nie musi ruszać ramieniem (co jest tutaj prawdziwym czynnikiem ograniczającym wydajność), aby zebrać wszystkie bity pliku . ==> stąd lepsza wydajność (choć nie zawsze jest to zauważalne).

Należy pamiętać, że dotyczy to tylko dysków twardych z talerzami i ruchomymi częściami. W przypadku dysków SSD nie stanowi to problemu, ponieważ pobranie danych zajmuje tyle samo czasu, niezależnie od ich lokalizacji na dysku. Defragmentacja dysków SSD jest w rzeczywistości złym pomysłem, ponieważ mają ograniczoną liczbę przypadków, w których można je zapisać w każdym „sektorze” (nie sądzę, aby „sektor” był tutaj właściwym terminem, ale wiesz, co mam na myśli, mam nadzieję).

fretje
źródło
3
Nie tylko nie jest to problem dla dysków SSD, ale ich defragmentacja jest w rzeczywistości złym pomysłem ze względu na ich ograniczenia.
Jeff Yates
Rzeczywiście zaktualizuję swoją odpowiedź.
fretje
13

To zależy od programu defragmentacji.

Będzie przynajmniej dążyć do umieszczenia klastrów dla pojedynczego pliku lub katalogu w ciągłej sekwencji, pod warunkiem, że jest na to miejsce.

Może także porządkować pliki i katalogi według profili użytkowania, jeśli je zbiera.

Niektóre pliki mogą nie być w stanie przenieść (zazwyczaj niektóre pliki otwarte i systemowe).

Powodem defragmentacji jest to, że losowe odczyty są znacznie wolniejsze niż odczytywanie ciągłej sekwencji bloków / klastrów z dysku. Jednak nie wszystkie systemy plików lub systemy operacyjne mają takie same wymagania dla (oddzielnych) programów do defragmentacji.

mas
źródło
Defragmentacja zwykle grupuje również wolne miejsce na dysku w możliwie duże skupiska. Pomaga to zapobiegać fragmentacji nowo utworzonych plików i umożliwia ich szybsze zapisywanie.
David Schwartz
3

Defragmentacja może zrobić dwie rzeczy:

  • Zapewnia, że ​​wszystkie fragmenty pliku znajdują się w ciągłej części dysku twardego. Większość plików jest podzielona na mniejsze „fragmenty”, które utknęły gdziekolwiek jest miejsce. Początkowo będą one przechowywane w sposób ciągły, ale przerwy / nieciągłości będą tworzone, gdy pliki zostaną usunięte / zmodyfikowane. Jeśli plik jest stale przechowywany, można go odczytać szybciej.
  • Zoptymalizuj lokalizację na dysku twardym (tylko wirujące dyski twarde). Dyski twarde składają się z obracających się talerzy w kształcie talerzy. Zewnętrzne obraca się szybciej, więc dysk twardy będzie działał lepiej podczas zapisu / odczytu w pobliżu tych talerzy, ponieważ więcej danych będzie przechodzić pod głowicą odczytu / zapisu przez określony czas.

Chciałbym również dodać coś o defragmentacji dysków SSD:

Defragmentacja dysku SSD

Dawno temu obiecałem napisać, dlaczego defragmentacja dysku SSD jest nadal istotna i konieczna. Prawdą jest, że z dyskiem SSD nie ma fizycznych talerzy, które musiałyby się obracać na swoim miejscu, ani ramion odczytu / zapisu, które musiałyby poruszać się dziko po powierzchni dysku. Z tego powodu wydaje się, że defragmentacja to strata czasu. Można również argumentować, że skoro dyski SSD w końcu się zużywają, nie należy marnować cykli przepisywania na coś tak prostego, jak defragmentacja dysku.

Jednym z faktów dotyczących technologii pamięci flash NAND stosowanej w dyskach SSD jest to, że zapis danych trwa znacznie dłużej niż odczyt danych. Po usunięciu pliku, podobnie jak w przypadku standardowej technologii dysku twardego, usuwane są tylko informacje o katalogu, a komórki danych są ponownie oznaczane jako „użyteczne”. Same dane pozostają nienaruszone, dopóki coś nowego ich nie nadpisze.

Oznacza to, że jeśli przestrzeń pamięci jest używana z „usuniętym” plikiem, należy go najpierw usunąć, zanim będzie można go ponownie zaprogramować. Jeśli wolne miejsce jest podzielone, nowy plik musi zostać podzielony na kilka małych poleceń zapisu zamiast jednego większego polecenia zapisu. Spowoduje to obniżenie wydajności dysków SSD, ponieważ szybkość zapisu jest niska, szczególnie w przypadku przesyłania małych bloków. Tak, pamięć podręczna pomaga maskować ten problem z wydajnością, ale bez względu na technologię, jedno długie polecenie zapisu jest zawsze lepsze niż wiele krótkich poleceń zapisu.

Net, regularnie defragmentuj dysk, jeśli chcesz uzyskać maksymalną wydajność.

źródło: Inside the Box Blog Lenovo

Leftium
źródło
3
Ten facet, którego zacytowałeś, jest w błędzie. Dysk SSD wewnętrznie łączy kilka zapisów do różnych bloków logicznych w jeden zapis flash. Podobnie jak odczyty, losowe zapisy są tak samo szybkie jak sekwencyjne na dysku SSD.
psusi
4
Nie można również kontrolować, gdzie dane są umieszczane na większości dysków SSD, ze względu na algorytmy wyrównywania zużycia. Chociaż możliwe jest pokonanie tych algorytmów za pomocą specjalnego oprogramowania, większość „gotowych” programów nie będzie tego robić.
Przełom
Możesz osiągnąć to, co opisuje ten facet, po prostu czytając wszystkie dane wiele razy. Umożliwi to samemu dyskowi SSD określenie, czy plik powinien zostać przeniesiony. SpinRite 6Aby to osiągnąć, można użyć narzędzi takich jak uruchomione z poprawnymi ustawieniami.
Ramhound
1

Sprzęt komputerowy

Jak wspomnieli inni, zapewnia to przechowywanie plików w sąsiadujących numerach jednostkach alokacji.

W przypadku wirujących nośników, takich jak dyski twarde, zapewnia to szybszy dostęp do danych, ponieważ talerz nie musi więcej wirować, a głowy nie muszą rzucać się w przód iw tył. W przypadku dysków SSD nie wpływa to na wydajność.

Odzyskiwanie danych

Należy zwrócić uwagę na defragmentację, ponieważ umieszczając pliki w kolejnych jednostkach alokacji, odzyskiwanie danych staje się łatwiejsze i bardziej prawdopodobne, że odniesie sukces. Gdy przypadkowo usuniesz plik, ulegniesz awarii dysku lub zostaniesz dotknięty wirusem, fragmentowane pliki są znacznie mniej prawdopodobne.

Dzieje się tak, ponieważ jeśli plik jest podzielony na wiele części, które są rozproszone po całym dysku, wówczas trudno (często niemożliwe) jest ustalenie, które części idą gdzie i do których plików należą. Jest to jeszcze bardziej problematyczne w przypadku większych dysków zawierających więcej plików. Aby pomyślnie odzyskać pofragmentowany plik, musisz wiedzieć, gdzie jest każda jego część i kolejność, ale gdyby tak było, nie trzeba by go odzyskiwać .

Jeśli pliki nie są pofragmentowane, wystarczy znaleźć początek pliku i znać jego rozmiar lub wiedzieć, jak wykryć koniec (np. Znając format pliku lub wykrywając, kiedy nowy plik zaczyna się).

Jednym ze sposobów pomocy w odzyskiwaniu danych jest użycie systemu plików, który jest bardziej odporny na uszkodzenia i zawiera lepsze funkcje tworzenia kopii zapasowych i odzyskiwania, takie jak NTFS w stosunku do FAT32. Niestety żaden system plików nie jest idealny, a nawet najlepsze nadal podlegają utracie danych i od czasu do czasu wymagają odzyskiwania danych.

Rekomendacje

W przypadku dysku twardego zapewnienie defragmentacji dysku (np. Zaplanowanie jego automatycznej defragmentacji za każdym razem, gdy system jest bezczynny - co staje się coraz mniejszym zadaniem, gdy czyści rzeczy) pomaga zwiększyć szanse na odzyskanie utraconych plików. Ponieważ dyski SSD nie nadają się do defragmentacji, należy rozważyć ryzyko i zalety defragmentacji oraz zużyć dysk, regularnie wykonywać kopie zapasowe lub przechowywać krytyczne dane na dysku twardym.

Synetech
źródło
0

Defragmentacja dysku może zrobić kilka różnych rzeczy. Zazwyczaj proces defragmentacji szuka plików, które z dowolnego powodu zostały podzielone na części. Wiele przypadków ma to miejsce od czytania i pisania na dysku w miarę upływu czasu. Program defrag gromadzi wszystkie fragmenty, a następnie znajduje miejsce na dysku, w którym zmieści się cały plik. W niektórych przypadkach jest to zwykła gra typu shell, która pozwala przenosić różne miejsca, tworząc miejsca dla wszystkich największych plików.

Teraz coś do powiedzenia na temat łączenia wszystkich tych plików dotyczy typowego czasu „poszukiwania” głowicy odczytu / zapisu na dysku. Za każdym razem, gdy musisz przenieść głowicę odczytu / zapisu w inne miejsce na dysku, zwykle występuje opóźnienie o kilka milisekund. Podczas odczytu pliku znajdującego się w jednym miejscu głowica odczytu / zapisu wcale nie musi przesuwać się bardzo daleko, aby kontynuować czytanie pliku. Jest to o wiele szybsze niż przejście do innego miejsca całkowicie na dysku. W niektórych przypadkach można przeprowadzić defragmentację w celu optymalizacji systemu operacyjnego poprzez umieszczenie najczęściej używanych plików systemowych bliżej „strefy lądowania” głowicy odczytu / prawej, gdy nie wykonuje ona żadnych operacji odczytu / zapisu. W wielu przypadkach może to znacznie przyspieszyć.

Nie widziałem narzędzia do defragmentacji, które ma zdolność do przechowywania statystyk dotyczących liczby przypadków dostępu do pliku, ale jeśli tak, może najpierw ułożyć dysk w stos z najczęściej otwieranymi plikami.

Axxmasterr
źródło
0

Twój system plików czasami umieszcza części pliku w różnych lokalizacjach na dysku. Przy późniejszym dostępie do tego pliku trwa to dłużej, ponieważ musi on przejść do każdej z tych lokalizacji, aby uzyskać dostęp do pliku. To się nazywa fragmentacja. Zasadniczo masz fragmenty plików w różnych miejscach na dysku.

Podczas defragmentacji dysku układane są na nim pliki, tak aby jak najwięcej plików było przechowywanych w całości.

Jacek
źródło
0

To zależy od systemu plików, defragmentatora i HDD / SSD.

Większość plików zostanie skonsolidowana w jednym bloku. To minimalne wymaganie i definicja „defragmentatora”.

Bardziej zaawansowane defragmentatory najpierw przenoszą katalogi (ponieważ są one średnio w megabajtach częściej dostępne niż zwykłe pliki), a następnie pliki, do których ostatnio uzyskiwano dostęp. Pliki, do których nie uzyskiwano dostępu przez długi czas (zwykle 90 dni), są czasami aktywnie umieszczane bliżej końca, aby umożliwić krótsze wyszukiwanie plików, do których dostęp jest uzyskiwany.

NTF wydaje się fragmentować tylko nieco mniej niż FAT, ale degraduje się wolniej, jeśli tak jest. Niektóre ważne pliki nie znajdują się z przodu partycji, ale w pobliżu środka, co oczywiście skraca czas dostępu w najgorszym przypadku o połowę. Jednak nie jestem tego pewien.

Czasy „wyszukiwania” na dyskach SSD są minimalne, rzędu mikrosekund. Patrzysz w złe miejsca, jeśli defragmentujesz dyski SSD w poszukiwaniu. (Inteligentny kontroler SSD może po prostu zaktualizować GDZIE dane są przenoszone, zamiast je przenosić, za każdym razem, gdy wykrywa wzorzec „czytaj stare dane + wite same dane + TRIM stare dane”, oszczędzając na obu cyklach zapisu ORAZ czas wykonania defragmentacji. Nie jestem pewien jeśli jakikolwiek kontroler to robi.)

Z drugiej strony, tak, dyski SSD celowo dystrybuują zapisy między układami scalonymi, ponieważ w ten sposób są one szybsze, a duża fragmentacja może spowolnić wzorce zapisu, powodując, że zapisy MNIEJ są rozproszone. To może być czynnik do rozważenia, jeśli to prawda.

Zawsze i regularnie rób kopie zapasowe. Jeśli zdefragmentujesz dyski w celu ułatwienia odzyskiwania danych, ZROBISZ TO!

kiełbasa
źródło