Do tej pory zdarza się to w dwóch sytuacjach: kiedy używam sabnzbd, po zakończeniu pobierania pliku i użyciu par2.exe do połączenia go, i właśnie teraz, gdy defragmentuję dysk twardy z maszyny wirtualnej, działam.
Takie użycie dysku twardego powoduje, że XP naprawdę przestaje reagować. Wiele elementów GUI nie kliknie lub spowoduje znaczne opóźnienie kliknięć. W Chrome za każdym razem, gdy przechodzę do karty, którą właśnie otworzyłem kilka minut temu, cała strona ładuje się bardzo wolno - widzę ładowanie grafiki strony linia po linii. Należy zauważyć, że w pierwszym przypadku mój plik stronicowania znajduje się na zupełnie innym dysku twardym niż ten, na którym uruchamiam te operacje, natomiast w drugim przypadku znajduje się on na osobnej partycji, ale na tym samym dysku twardym. Jednak takie samo zachowanie występuje.
Wszelkie wyjaśnienia, dlaczego tak się dzieje? Wszelkie sugestie, jak to zrobić, aby tak się nie stało?
Mam 4 GB pamięci RAM i procesor dwurdzeniowy, a mój procesor nie zbliża się nawet do 25%, gdy te działania są wykonywane, więc nie wydaje się, że jest to przypadek braku zasobów. Czy XP po prostu nie radzi sobie z tą sytuacją?
źródło
Odpowiedzi:
Uwaga: Zakładam, że masz tutaj wirujący dysk. Wskaźniki wydajności w tych obszarach różnią się znacznie dla pamięci półprzewodnikowej.
Podczas gdy nowoczesny dysk może wytrzymać wiele dziesiątek MB na sekundę podczas wykonywania odczytów i zapisów masowych, obie operacje, które opisujesz, obejmują co najmniej dwie lokalizacje na dysku, co wiąże się z dużym ruchem głowy. Opóźnienie ruchów głowy ma ogromny wpływ na przepustowość, ponieważ za każdym razem, gdy napęd musi poruszać głowami, opóźnienie polega na tym, że faktycznie je kopią w odpowiednie miejsce, opóźnienie oczekiwania na ich osiedlenie, a następnie opóźnienie oczekiwania na właściwe część dysku, którą można obrócić. Opóźnienia te są same w sobie niewielkie (średnio nawet 10ns na ruch w przypadku większości nowoczesnych napędów), ale jeśli napęd może przepychać 100 Mb / s przy pełnym przepływie 10 ms, każdy ruch marnuje czas 1 MB transferu danych.
Podczas defragmentacji dysku narzędzie spędza większość czasu na czytaniu z jednego miejsca na dysku i zapisywaniu do innego, niewielkiej liczby bloków na raz. Wyodrębnianie zawartości z zestawu plików chronionych parami jest jeszcze gorsze, ponieważ odczytywane są co najmniej dwa pliki (plik źródłowy i jeden lub więcej plików parzystości), a także zapisywany plik wyjściowy. Skutkuje to nawet zwykła operacja kopiowania dużego pliku. Wszystko to wyklucza ruchy głowy potrzebne do aktualizowania struktur katalogów i map wolnego miejsca w miarę przenoszenia bloków i / lub rozszerzania plików. Uruchomienie maszyny wirtualnej może być podobnie wymagające w zależności od tego, co robi maszyna wirtualna w danym momencie (a maszyna wirtualna zmniejszy ilość pamięci RAM dostępnej na maszynie hosta, aby używać jej jako pamięci podręcznej / buforów, co może pogorszyć sytuację,
Przy tym wszystkim, jeśli aplikacja GUI będzie musiała poprosić o choć trochę I / O, może stać w kolejce za wszystkimi innymi działającymi rzeczami. Jeśli aplikacja nie jest w pełni wielowątkowa, może to spowodować „zablokowanie” oczekiwania na zakończenie operacji we / wy, co oznacza, że nie jest w stanie odpowiedzieć na żadne komunikaty (na przykład „użytkownik kliknął tutaj”) kolejka zdarzeń Windows, dopóki nie nadejdzie jego kolej. Im więcej dzieje się na raz, tym gorzej będzie i nie zauważysz tego w odczytach „Procesor zajęty”, ponieważ procesor nie jest zajęty - w takich okolicznościach oczekuje się, że operacje IO zakończą się przez większość czasu .
Jeśli masz dwa lub więcej dysków, możesz znacznie zmniejszyć ich wpływ na ciebie, rozkładając obciążenie na dyski. Jeśli maszyna wirtualna znajduje się na innym dysku niż podstawowy system operacyjny, nie będzie konkurować o obsługę we / wy, gdy maszyna wirtualna jest zajęta, gdy host defragmentuje partycję systemową. Ponadto rozpakowanie archiwum z jednego dysku i zapisanie wyniku na innym będzie zauważalnie szybsze niż rozpakowanie go na tym samym dysku, ponieważ operacja odczytu nie konkuruje bezpośrednio z operacją zapisu dla pozycjonowania głowicy na jednym dysku.
źródło
Defragmentacja dysku twardego na komputerze spowoduje spowolnienie dowolnego komputera. Przenosi wiele danych w dowolne miejsce.
Jakiego rodzaju masz komputer? Czy masz procesor jedno- lub dwurdzeniowy? Ile ram? W grę może wchodzić wiele czynników.
Najprawdopodobniej jest to proces zawieszenia lub coś w tym rodzaju. Powiedziałeś, że używasz maszyny wirtualnej. Mogą one zajmować wiele zasobów, jeśli wykonujesz pracę na maszynie wirtualnej i systemie operacyjnym hosta. Maszyny wirtualne są bardzo intensywnymi procesorami. Działa z całym innym systemem operacyjnym w głównym systemie operacyjnym.
źródło
Brzmi szczerze, jakbyś robił za dużo naraz. To, co widzisz, jest wąskim gardłem - dysk twardy jest proszony o zrobienie kilku rzeczy naraz (niektóre z większym priorytetem niż inne), więc rzeczy takie jak kliknięcia GUI „czekają” na ich kolej.
źródło
Problem może być spowodowany przez dane działanie (np. Defragmentację) zajmujące bardzo duży procent procesora. To pozostawia bardzo niewiele dla interfejsu użytkownika, stąd brak reakcji.
Możesz spróbować obniżyć priorytet pliku par2.exe lub defragmentację. Przejdź do Menedżera zadań> Procesy, kliknij prawym przyciskiem myszy proces naruszania i wybierz Ustaw priorytet> Niski.
Czy korzystasz z procesora jednordzeniowego? Posiadanie 2 lub więcej procesorów (lub rdzeni) pozwoli na uruchomienie interfejsu użytkownika na tym, który nie jest zadany.
źródło