Defragmentacja pojawiła się w tym samym czasie, gdy na świecie pojawiły się dyski twarde. Jeśli w ogóle zależy ci na stanie komputera, powinieneś regularnie defragmentować dyski twarde. Z pewnością przypomina to rozmowę z dentystą, który w każdej rozmowie przypomina ci o konieczności użycia nici dentystycznej. Tak, defragmentacja jest równie ważna.
Jeśli twój komputer nie jest w rogu i nigdy się nie włącza, informacje na jego dysku twardym są coraz bardziej fragmentaryczne. W ciągu kilku minut pokażę ci, jak to się dzieje, ale na razie pozwól mi przedstawić kilka faktów z historii defragmentacji.
Defragmentacja i Windows NT
W systemie Windows NT® nie było oprogramowania do defragmentacji dysku. W tym czasie wierzono, że taki program nie jest potrzebny. Ostatecznie system plików NTFS został stworzony z myślą o optymalizacji, a na dysku twardym z tym systemem plików fragmentacja nie była tak szkodliwa, jak na dysku twardym z systemem plików FAT. Jednak z czasem nawet wydajność dysku twardego systemu plików NTFS może nie być optymalna w przypadku umieszczania plików na dysku. Potrzeba defragmentacji pobudziła powstanie rynku narzędzi do defragmentacji tworzonych przez zewnętrznych programistów. Wśród specjalistów IT bardzo popularne było oprogramowanie Diskeeper firmy Executive Software (która teraz zmieniła nazwę na Diskeeper Corporation). Gdy pojawiła się obsługa narzędzi defragmentacyjnych w systemie operacyjnym wraz z pojawieniem się Windows 2000, Microsoft nabył licencję na technologię wykorzystywaną przez Executive Software. W systemie Windows® 2000 programem do defragmentacji była wtyczka do konsoli Microsoft® Management Console (dfrg.msc), którą można wywołać, klikając ikonę dysku za pomocą myszy lub ręcznie uruchamiając program defrag.exe z wiersza poleceń. Program nie pozwalał na uruchomienie defragmentacji zgodnie z harmonogramem. Jednak wielu specjalistów IT stworzyło skrypty automatyzacji defragmentacji przy użyciu narzędzi wbudowanych w system operacyjny. W porównaniu z wcześniejszą wersją plik Defrag.exe w systemie Windows XP i Windows Server® 2003 został nieco ulepszony i obsługiwał niektóre funkcje automatyzacji. Aby jednak zautomatyzować ten proces, konieczne było napisanie odpowiedniego skryptu.
Niektóre firmy, w tym Winternals Software (gdzie wcześniej pracowałam), opracowały oprogramowanie do defragmentacji przedsiębiorstwa. Większość z tych programów działa w podobny sposób. Obejmują one scentralizowaną konsolę, agenta współpracującego z komputerami klienckimi (cały czas lub tylko na żądanie) oraz schemat, który określa czas i charakter operacji defragmentacji.
W systemie Windows Vista® narzędzia do defragmentacji dysku twardego komputera kontynuują tradycje poprzednich systemów operacyjnych. Defragmentator jest zoptymalizowany w tym systemie operacyjnym i obsługiwane są nowe funkcje, na przykład defragmentacja małych fragmentów plików (nie więcej niż 64 MB), co skraca czas defragmentacji, ponieważ w tym przypadku czas nie jest marnowany na duże fragmenty plików. Mechanizm defragmentacji w systemach Windows Vista i Windows Server 2008 przewyższa mechanizm defragmentacji używany we wcześniejszych wersjach systemu Windows. Ponadto defragmentacja rozpoczyna się automatycznie, bez konieczności ręcznego ustawiania harmonogramu. Jeśli jednak pracujesz w dużej organizacji lub chcesz zoptymalizować wydajność komputerów i nie masz wystarczających możliwości defragmentacji, może być konieczne zakupienie oprogramowania od innego programisty. Podobnie jak we wcześniejszych wersjach, podczas defragmentacji dużych woluminów, które aktywnie korzystają z kompresji NTFS, mogą wystąpić pewne trudności. W takim przypadku należy również użyć narzędzi do defragmentacji innych programistów.
Dlaczego występuje fragmentacja?
Fragmentacja występuje, ponieważ pliki zmieniają się w czasie. Idealnie, pliki systemu operacyjnego Windows same się nie zmieniają. Cóż, a przynajmniej nie zmieniają się zbyt często, tylko w przypadku pakietu aktualizacji i instalowania aktualizacji oprogramowania. Reszta - pliki systemowe nie ulegają zmianie. Dokonanie istotnych zmian w systemie, takich jak instalacja dodatku Service Pack, nieuchronnie prowadzi do fragmentacji, ponieważ zaktualizowane pliki często nie mogą być zapisywane w tym samym miejscu, które zajmują na dysku twardym. Ponadto przy tak poważnych zmianach może być wymagane ponowne uruchomienie, co prowadzi do dalszej fragmentacji.
W przeciwieństwie do plików systemowych, pliki użytkownika i dane (oraz rejestr systemu Windows) ciągle się zmieniają. Odczytywanie, zapisywanie, modyfikowanie, kopiowanie i usuwanie plików znacznie zwiększa fragmentację, zwłaszcza gdy zmniejsza się ilość miejsca na dysku.
Wyobraź sobie dysk twardy, na którym pliki są zorganizowane w nienaganny sposób i znajdują się blisko siebie, nie pozostawiając wolnego miejsca w przestrzeni między nimi. Załóżmy, że otwierasz plik, edytujesz go, a następnie zapisujesz. Jeśli rozmiar pliku zwiększył się, system Windows może albo zapisać cały plik w innym miejscu na dysku (na przykład po pliku N), albo zapisać tylko nowe dane po pliku N. W tym drugim przypadku plik 2 ulega fragmentacji. Jeśli dalej modyfikujesz plik 1, otrzymasz dwa pofragmentowane pliki. Stopniowo, gdy inne pliki są edytowane, dysk twardy ulega znacznej fragmentacji i aby uzyskać dostęp do określonego pliku, należy zebrać taki plik z fragmentów przechowywanych w różnych miejscach dysku twardego. Fragmentacja jest typowa dla dysków twardych przechowujących duże pliki bazy danych, duże pliki dysków twardych używane w środowisku wirtualnym oraz dużą liczbę plików wideo i audio. Oczywiście fragmentacja nie jest tak zauważalna w przypadku dysków twardych o dużej pojemności, ale sam problem fragmentacji nie zanika wraz ze wzrostem pojemności dysku twardego. Ponadto, w wyniku fragmentacji, praca komputerów przenośnych poprzedniej generacji z dyskami twardymi o małej pojemności jest zauważalnie wolniejsza: wydajność systemu spada, czas pobierania rośnie, a otwieranie lub zapisywanie pliku zajmuje więcej czasu.
Głównym problemem nie jest nawet to, jak ogólnie rozdrobniony jest dysk twardy, ale jak pofragmentowane są pojedyncze pliki. Od czasu pojawienia się pierwszych defragmentatorów dysków twardych z kolorowymi diagramami, każdy użytkownik marzył, aby przedstawiony diagram był prostokątem tego samego koloru. Ale w rzeczywistości użytkownicy tego nie potrzebują. Niektóre rozwiązania defragmentacyjne próbują wprowadzić dyski twarde w stan dwóch monolitycznych bloków: bloku kolorów (dane pliku) i białego bloku (wolne miejsce na dysku). Niestety, jest to bardzo niefortunny wynik, jeśli dążysz do celu, jakim jest zminimalizowanie częstotliwości i kosztów defragmentacji. Jeśli skompresowałeś wszystkie pliki, umieszczając je w jednej części dysku, nie pozostawiając prawie żadnego wolnego miejsca, podczas edycji plików, zmiany zostaną zapisane na końcu danych pliku. Dlatego taka defragmentacja faktycznie prowadzi do fragmentacji natychmiast po następnej edycji dowolnego pliku. Zamiast dwóch dobrze zorganizowanych bloków dysku twardego, defragmentacja wysokiej jakości nie zawsze reprezentuje idealny obraz. Na rys. 1 pokazuje testowany system przed defragmentacją. Teraz spójrz na zdjęcie. 2, który przedstawia ten sam system po defragmentacji przeprowadzonej przez system Windows.
Rys. 1 Dysk twardy przed defragmentacją
Rys. 2 Dysk twardy po defragmentacji
Należy pamiętać, że system Windows nie tyle fragmentuje pliki na dysku twardym, ponieważ eliminuje fragmentację poszczególnych plików (patrz Rysunek 3, sekcja raportu fragmentacji, która zawiera informacje o najbardziej fragmentarycznych plikach przed fragmentacją dysku twardego).
Rys. 3 Raport defragmentacji
W tym przypadku nawet po defragmentacji system Windows nie wyświetli kompaktowego zestawu plików danych pogrupowanych w jednej części dysku twardego. Zwróć uwagę na dużą sekcję danych pokazaną na zielono na rys. 1 i 2. To jest plik wymiany systemu Windows, o którym powiem kilka słów. Jeśli w systemie Windows włączony jest tryb uśpienia, zostanie on przedstawiony w ten sam sposób podczas procesu defragmentacji.
Ważne jest regularne defragmentowanie
Podobnie jak w przypadku nici dentystycznej, ważne jest, aby pamiętać, że najważniejszą rzeczą jest regularna defragmentacja. Szczególnie ważne jest regularne defragmentowanie w przypadku mocno używanych systemów, takich jak serwery. Jeśli opóźnisz się z defragmentacją, proces może zająć zbyt dużo czasu, co doprowadzi do niedostępności serwera lub zmniejszenia jego wydajności (defragmentacja może zająć dość dużo czasu, a niektóre z jego kroków wymagają intensywnego wykorzystania zasobów procesora).
Nawet najlepsze defragmentatory online nie mogą wszystkiego defragmentować. Na przykład nie zawsze udaje im się zdefragmentować otwarte lub zablokowane pliki (w tym plik stronicowania lub pliki rejestru) i muszą pominąć plik hibernacji, jeśli istnieje (jego rozmiar odpowiada ilości pamięci RAM w komputerze). W następnej sekcji omówię sztuczki z defragmentacją, które pomogą zoptymalizować zablokowane pliki.
Myślę, że ważne jest zrozumienie mitów i faktów związanych z defragmentacją.
Defragmentacja jako komponent infrastruktury
Musisz poważnie rozważyć potrzebę regularnej defragmentacji dla wszystkich komputerów. Możesz użyć defragmentatora wbudowanego w system Windows lub wybrać rozwiązanie innej firmy. Zasadniczo wybór zależy od ilości dodatkowej pracy, którą zamierzasz wykonać. W systemie Windows XP i nowszych wersjach systemu operacyjnego można dodać plik defrag.exe jako zaplanowane zadanie. Artykuł bazy wiedzy support.microsoft.com/kb/555098 opisuje, jak to zrobić. Defragmentacja komputera przenośnego ma wiele funkcji. Z jednej strony lepiej jest defragmentować dysk twardy, gdy laptop jest włączony (najlepiej, gdy działa w sieci). Jednocześnie niepożądane jest zajmowanie zasobów procesora lub dysku twardego, gdy użytkownik pracuje. Niestety, jeśli użytkownik nie pracuje na komputerze przenośnym, komputer jest najprawdopodobniej odłączony od sieci i znajduje się w trybie gotowości lub w trybie uśpienia (podczas gdy zarządzanie energią i wykonywanie przypisanych zadań nie są możliwe). W Winternals (jak prawdopodobnie w każdej innej firmie) spędziliśmy dużo czasu próbując stworzyć idealny scenariusz defragmentacji dla użytkowników laptopów. Jeśli korzystasz z systemu Windows Vista, problem można rozwiązać za pomocą wbudowanego defragmentatora i zaplanowanych zadań o zwiększonej oszczędności energii w porównaniu z poprzednimi wersjami. Jeśli to nie wystarczy, będziesz musiał korzystać z rozwiązań mobilnych innych firm. Niektóre z tych rozwiązań po prostu uruchamiają operację defragmentacji, powiadamiają użytkownika, że operacja została wykonana, raportują, kiedy została wykonana (i jak często jest wykonywana) oraz jak długo to trwało.
Oprócz defragmentacji dysków twardych komputerów przenośnych czasami konieczne jest rozwiązanie problemów fragmentacji nie tylko na poziomie systemu plików. Ten problem nie występuje podczas pracy z komputerami stacjonarnymi lub przenośnymi, ale serwery, Microsoft Exchange, SQL ServerTM lub inne hurtownie danych mogą również wymagać defragmentacji. W takim przypadku musisz zdecydować, czy wykonać to przed, czy po defragmentacji systemu plików.
Jeśli używasz defragmentatora innego dewelopera, upewnij się, że używa on interfejsu API defragmentacji systemu Windows. Począwszy od systemu Windows NT 4.0, system Windows używa własnego interfejsu oprogramowania do defragmentacji, aby zapobiec nieoczekiwanej utracie danych. Na przykład, jeśli w trakcie przenoszenia pliku zasilanie systemu jest wyłączone, nie jest przyjemne, że przeniesienie fragmentu nie jest zakończone i może prowadzić do utraty danych lub nawet niemożności załadowania systemu operacyjnego.
Wreszcie, jeśli korzystasz z rozwiązań wirtualizacyjnych, powstaje pytanie, jak defragmentować dyski wirtualne. Dyski wirtualne są pofragmentowane w taki sam sposób jak fizyczne dyski twarde iw pewnym sensie jest jeszcze gorzej ze względu na ograniczenia ich pojemności. Ponadto, jeśli zastosowane rozwiązanie do wirtualizacji pozwala na kompresję dysków lub partycji, może być konieczne defragmentowanie ich, aby zwolnić miejsce na dysku (lub przynajmniej skrócić czas trwania operacji kompresji).
Dodatkowe fundusze
Teraz prawdopodobnie rozpoznałeś znaczenie i wartość defragmentacji. Nawet jeśli nie używasz narzędzi do defragmentacji innych firm, możesz być zainteresowany narzędziem PageDefrag opracowanym przez Marka Rusinovicha (Mark Russinovich), który można pobrać ze strony Microsoft Sysinternals (zobacz microsoft.com/technet/sysinternals/FileAndDisk/PageDefrag.mspx ). Jak wspomniano powyżej, plik wymiany systemu Windows nie może zostać zdefragmentowany podczas działania systemu operacyjnego. To samo dotyczy plików rejestru systemu Windows i dzienników zdarzeń. Używając małego sterownika, PageDefrag umożliwia defragmentację tych zablokowanych plików przed zakończeniem ładowania systemu Windows i blokuje je. Aby użyć tego sterownika, wystarczy uruchomić narzędzie PageDefrag i zainstalować narzędzie do uruchamiania w następnym rozruchu lub na każdym ładunku. Po ponownym uruchomieniu systemu (w miejscu, w którym dysk był wcześniej skanowany) pliki wymienione na liście zostaną zdefragmentowane (patrz Rysunek 6).
Rys. 6 plików zdefragmentowanych za pomocą PageDefrag
Po zakończeniu działania narzędzia PageDefrag system operacyjny będzie ładował się normalnie. Jeśli chcesz dowiedzieć się więcej o narzędziu PageDefrag, Lance Whitney napisał o tym narzędziu we wrześniowym wydaniu Przeglądu programu użytkowego. PageDefrag jest obsługiwany tylko w systemach Windows NT 4.0, Windows 2000, Windows XP i Windows Server 2003. Obecnie nie jest obsługiwany w systemie Windows Vista.
Oprócz narzędzia PageDefrag można także pobrać inne narzędzie Contig na stronie internetowej Sysinternals, które umożliwia ręczne defragmentowanie określonego pliku. Może to być przydatne, jeśli podczas wykonywania standardowej operacji defragmentacji nie można defragmentować określonego pliku lub jeśli po wykonaniu operacji defragmentacji ponownie ulegnie fragmentacji, w przeciwieństwie do innych plików na woluminie.
Contig może być również używany do defragmentacji całego katalogu lub podkatalogu za pomocą specjalnych szablonów. W ten sposób możesz defragmentować wszystkie pliki w katalogu systemu operacyjnego Windows, niezależnie od lokalizacji plików.
Contig -sc: Windows *. *
Po wybraniu opcji –v operacja defragmentacji zostanie przeprowadzona jawnie, a po wybraniu polecenia –q zostanie wykonana w tle.
Wysłany przez Wesa Millera
Zaczerpnięto z listopadowego wydania Magazyn TechNet .