Wiem, że nie ma sensu (w rzeczywistości jest to zły pomysł), aby uruchomić Defrag na dysku SSD. Co z maszyną wirtualną działającą na dysku SSD, czy powinienem defragmentować dysk twardy, ponieważ zasadniczo uzyskuje on dostęp do dysku twardego w ten sam sposób?
virtual-machine
defragment
Kris Erickson
źródło
źródło
Odpowiedzi:
Defragmentuję dyski VHD, ale ze względu na brak miejsca, a nie czas:
Używam opcji dynamicznie alokowanej dla dysków VHD, więc zaczynają się małe i rozwijają w razie potrzeby. Ale ponieważ dysk VHD (niekoniecznie pliki) ulega fragmentacji, rozszerza się, aby objąć wszystkie przydzielone bloki. Defragmentacja dysku VHD jest pierwszym krokiem do jego ponownego kompaktowania.
źródło
Nie ma potrzeby defragmentacji dysku SSD. Zwykły dysk twardy musi się obracać, aby znaleźć (części) plików. Dysk SSD jest porównywalny z pamięcią RAM, wszystkie pliki można uzyskać z tym samym opóźnieniem.
Wikipedia stwierdza, że „Wydajność odczytu nie zmienia się w zależności od miejsca przechowywania danych na dysku SSD”
źródło
To tylko moja opinia, nie mam wyników testów, aby to zrobić. Oto przybliżone przybliżenie prawdopodobnych wydarzeń:
Prawdziwy system operacyjny:
Oto równoważny łańcuch poleceń na maszynie wirtualnej:
Jak widać, w obu przypadkach fragmentacja naprawdę staje się problemem na etapie operacji, w której fizyczny dysk twardy próbuje odczytać dane, i dzieje się to w prawdziwym systemie operacyjnym, poza kontekstem maszyny wirtualnej. Wcześniej wszystko prawdopodobnie dzieje się w pamięci.
Podsumowując, ponieważ wiemy, że dyski SSD nie cierpią na fragmentację w prawdziwym systemie operacyjnym i że problem fragmentacji na maszynie wirtualnej prawdopodobnie występuje tylko na ostatnim fizycznym etapie operacji, domyślam się, że defragmentacja albo wirtualnego systemu operacyjnego, albo plik dysku wirtualnego w głównym systemie operacyjnym nie poprawiłby wydajności dysku SSD, a jednocześnie byłby tak szkodliwy / bezużyteczny, jak defragmentacja prawdziwego systemu operacyjnego.
Edycja: A jeśli to prawda, to cholernie dobry powód, aby umieścić maszynę wirtualną na dysku SSD! Na dysku twardym fragmentacja na dowolnym etapie (system operacyjny gościa, plik dysku wirtualnego, prawdziwy system operacyjny) złamie liniowość i spowoduje fragmentację na etapie dysku fizycznego.
źródło
Niezależnie od tego, czy twoja maszyna wirtualna uzyskuje dostęp do danych przechowywanych na tradycyjnym magnetycznym dysku twardym, czy na elektronicznym dysku SSD, fragmentacja plików i plików NTFS w systemie Windows NTFS spowalnia szybkość dostępu aplikacji żądających danych. Fragmentacja pliku NTFS i fragmentacja wolnego miejsca zdarzają się znacznie częściej, niż się wydaje. Może się to zdarzyć zaraz po zainstalowaniu systemu operacyjnego. Może się to zdarzyć podczas instalowania aplikacji lub aktualizacji systemu, uzyskiwania dostępu do Internetu, pobierania i zapisywania zdjęć, tworzenia wiadomości e-mail, dokumentów biurowych itp. Jest to normalne zjawisko i zachowanie systemu komputerowego, ale ma negatywny wpływ na cała wydajność aplikacji i systemu. W miarę fragmentacji system komputerowy i podstawowa pamięć masowa wykonują więcej pracy, niż jest to konieczne. Każde żądanie We / Wy zajmuje mierzalny czas. Nawet w środowiskach SSD nie ma czegoś takiego jak „natychmiastowe” żądanie We / Wy. Za każdym razem, gdy aplikacja żąda odczytu lub zapisu danych, a żądanie to zostaje podzielone na dodatkowe żądania We / Wy, powoduje to konieczność wykonania większej pracy. Ta dodatkowa praca powoduje opóźnienie w tym samym momencie.
Dyski stały się szybsze z biegiem lat, ale i procesory. W rzeczywistości różnica między różnicą prędkości między dyskami twardymi a procesorem faktycznie się powiększyła. Oznacza to, że aplikacje mogą uzyskać wiele cykli procesora, ale wciąż głodują, aby pobrać dane z pamięci. Co więcej, ilość przechowywanych danych dramatycznie wzrosła. Pomyśl tylko o tych wszystkich cyfrowych zdjęciach zrobionych i udostępnionych podczas świąt. Każde zdjęcie ma rozmiar około 1 MB, teraz przekracza 15 MB na zdjęcie, a niektóre znacznie wykraczają poza to. Edycja wideo oraz renderowanie i przechowywanie filmów cyfrowych również stały się bardzo popularne, w wyniku czego aplikacje manipulują setkami gigabajtów danych. Przy typowych rozmiarach klastra dyskowego wynoszących 4k plik o rozmiarze 15 MB mógłby zostać potencjalnie podzielony na prawie 4000 fragmentów. Oznacza to dodatkowe 4, Do odczytania lub zapisu pliku wymagane jest 000 żądań We / Wy dysku. Bez względu na rodzaj pamięci, operacja zajmie więcej czasu.
Fizyczne umieszczenie danych na dysku SSD nie ma tak naprawdę znaczenia, jak na zwykłych magnetycznych dyskach twardych. W przypadku dysku SSD nie ma opóźnienia obrotowego ani czasu na walkę. Wielu ekspertów zakłada, że fragmentacja nie stanowi już problemu, ale szybkość dostępu do danych aplikacji nie jest zdefiniowana tylko w tych kategoriach. Każde wykonane żądanie We / Wy zajmuje mierzalny czas. Dyski SSD są szybkie, ale nie są natychmiastowe. System plików Windows NTFS nie zachowuje się inaczej, ponieważ podstawową pamięcią jest dysk SSD vs. HDD, dlatego fragmentacja nadal występuje. Zmniejszenie niepotrzebnych operacji we / wy poprzez zapobieganie fragmentacji we fragmentach i eliminowanie ich zmniejsza liczbę żądań operacji we / wy, co przyspiesza czas odpowiedzi danych aplikacji i poprawia ogólną żywotność dysku SSD. W istocie
Ponadto dyski SSD wymagają usunięcia starych danych przed zapisaniem na nich nowych danych, a nie tylko zapisu starych informacji, jak w przypadku dysków HDD. Podwaja to zużycie i może powodować poważne problemy z wydajnością i żywotnością dysku SSD. Większość producentów dysków SSD ma do tego bardzo zaawansowane technologie wyrównywania zużycia. Podstawowym problemem jest spadek prędkości zapisu z powodu fragmentacji wolnej przestrzeni. Małe wolne miejsca rozrzucone na dysku SSD powodują, że system plików NTFS zapisuje plik w pofragmentowanych częściach na tych małych dostępnych wolnych miejscach. Powoduje to, że powoduje więcej losowego ruchu we / wy, który jest wolniejszy niż operacje sekwencyjne.
Mam wyniki testów porównawczych na poparcie tego. Jeśli chcesz, opublikuj komentarz z prośbą o te wyniki, a chętnie się z tobą podzielę.
źródło
Jeśli chodzi o pierwotne pytanie o tradycyjną defragmentację dysku SSD, zgadzam się, że to zły pomysł, ale dostępne są konkretne rozwiązania, które rozwiązują problemy związane z przenoszeniem plików i żywotnością dysku SSD.
W przypadku maszyny wirtualnej z systemem Windows jako systemem operacyjnym fragmentacja będzie nadal występować, a łączny efekt dodatkowego ruchu we / wy zmniejszy szybkość i wydajność nie tylko systemów-gości, ale także hosta. Zarówno Microsoft, jak i VMware zalecają potrzebę rozwiązania problemu fragmentacji na poziomie gościa.
Dlatego…
Aplikacja prosi o dane X
Żądanie jest przetwarzane przez NTFS.sys
Atrybuty pliku są badane ($ MFT) i jeśli dane nie są zawarte w jednym zakresie (fragmencie), dla każdego zakresu / fragmentu tworzone są dodatkowe żądania We / Wy w celu spełnienia pierwotnego żądania danych.
Każde z tych żądań jest następnie wysyłane do sterownika pamięci dyskowej.
Po pobraniu danych są one ponownie przekazywane stosowi do użytkownika / aplikacji.
Każda maszyna wirtualna z systemem Windows wysyła ten typ ruchu we / wy do systemu hosta. Jeśli struktura systemu plików jest pofragmentowana na poziomie gościa / maszyny wirtualnej, przekłada się to na dodatkowy i niepotrzebny ruch we / wy, który musi być obsługiwany przez hosta i zagospodarowany magazyn zaplecza. Jest to jeszcze bardziej skomplikowane, gdy dodajesz coraz więcej maszyn wirtualnych. W rzeczywistości fragmentacja może mieć fragmentację na poziomie systemu plików hosta.
Niezależnie od tego, czy dane są przechowywane na dysku SSD, czy na tradycyjnym dysku twardym, jeśli używasz systemu Windows, system plików NTFS ulegnie fragmentacji, w wyniku czego nigdy nie osiągniesz znamionowej prędkości i przepustowości producenta ze względu na fragmentację pliku NTFS i wolne miejsce. Efekty można zmierzyć za pomocą PerfMon, patrząc na średnią długość kolejki odczytu dysku, średnią długość kolejki zapisu, a co najważniejsze podzielone operacje we / wy.
źródło
Począwszy od systemu Windows Server 2008 i Windows Vista, należy zachować ostrożność przy domyślnym zaplanowanym zadaniu defragmentacji systemu Windows.
Można go wyłączyć za pomocą:
schtasks /change / tn “microsoft\windows\defrag\ScheduledDefrag” /disable
lub używając PowerShell:
Wyodrębniono z: http://www.sysadmit.com/2015/10/vmware-y-gpo-defrag-windows.html
źródło
Właśnie zdefragmentowałem maszynę wirtualną VMLite XPMode za pomocą Windows Defrag hostowanej na INTEL SSDSC2CW240A3 o pojemności 240 Gb.
Pre Defrag rozmiar maszyny wirtualnej na hoście - 7,83 Gb (używane miejsce na C: na maszynie wirtualnej, 5,81 Gb z 121 Gb)
Po defragmentacji - 9,86 Gb (zużyte miejsce na C: na VM, 5,80 Gb z 121 Gb)
Nie oczekiwanego rezultatu i przywróciłem wersję przed defragmentacją.
źródło
Nie, nie bardzo. Są takie rzeczy jak „Hyperfast” autorstwa Diskeepera, ale nie mam pojęcia, jak wydajne są te technologie. (Być może jest to tylko zdzierstwo, aby nie spadły z rynku, gdy dyski SSD staną się głównym nurtem.)
źródło