Windows XP działa dziwnie, gdy dysk twardy jest intensywnie używany

2

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ą?

użytkownik9430
źródło
2
Tylko dwie sytuacje? Nie aktualizuj do Visty, jeśli nie lubisz powolnych elementów interfejsu użytkownika.
David Thornley,
Czy wiesz, czy używasz dysków SATA lub PATA?
Jared Harley

Odpowiedzi:

2

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.

David Spillett
źródło
Myślę, że to prawdopodobnie odpowiedź. Jedyne, że nie mam tylko jednego dysku twardego. Powiedzmy, że mam dysk Z, sam w sobie, i wykonuję tam wszystkie intensywne operacje. Czy wpłynęłoby to na wydajność mojego systemu, nawet jeśli reszta systemu nigdy nawet nie spojrzałaby na Z?
user9430
Spojrzałem i: dysk twardy maszyny wirtualnej znajdował się na tym samym dysku twardym, co mój plik wymiany (ale nie mój dysk systemowy lub dysk, na którym zainstalowane są wszystkie moje aplikacje). Może to wyjaśnia 2. miejsce. Po pierwsze, parowany plik znajdował się na tym samym dysku co swap, a jego dane wyjściowe były wysyłane na dysk z moimi aplikacjami i gdzie jest zainstalowany system Windows. To prawdopodobnie odpowiedź… dzięki!
user9430
rozwiązanie? kup dysk SSD 256 GB ... = P.
user9430
Lokalizacja plików wymiany będzie miała znaczenie tylko wtedy, gdy przestrzeń wymiany jest aktywnie używana (w takim przypadku więcej pamięci RAM może być odpowiedzią, ale oznacza to aktualizację systemu operacyjnego, jeśli używasz 32-bitowego i masz już 4 Gb).
David Spillett,
Chociaż jeśli maszyna zamienia się z innymi działającymi dyskami, to z pewnością tłumaczy brak reakcji GUI.
David Spillett,
3

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.

Troggy
źródło
To prawda, ale jest to maszyna wirtualna, więc mocno przetwarza tylko jeden plik na prawdziwym dysku twardym. Dlaczego w rezultacie moja maszyna hosta zwalnia? Mnie kliknięcie Start-> Programy nie powinno mieć wpływu, gdy dysk twardy jest oddzielny od mojego dysku Windows i mój plik stronicowania jest dostępny.
user9430
Ile Ram ma komputer? i ile Ram jest przydzielony do VM?
Troggy
Jeden mocno przetworzony plik może zająć większość dostępnej prędkości transferu dysku twardego, szczególnie na maszynie wirtualnej, dlatego wszystko inne spowalnia.
Troggy
500 MB na VM, 4 GB na hoście (czyli 3 GB powodu ograniczenia XP). podwójny rdzeń procesora. ale to samo dzieje się nawet bez maszyny wirtualnej, ale właśnie wtedy, gdy par2.exe (z downloadera grup dyskusyjnych) działa tak, jak proces pobierania 5 GB.
user9430
Twoja maszyna wirtualna nie wie, że jest to wirtualny dysk twardy iz pewnością nie obsługuje VHD jako pojedynczego pliku. jeśli chcesz, aby dysk VHD był jednym plikiem konturowym, tymczasowo wykonaj kopię zapasową, usuń oryginał, defragmentuj prawdziwy HD, a następnie przywróć kopię zapasową do pierwotnej lokalizacji
2

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.

Jared Harley
źródło
Wygląda na to, że kliknięcia GUI i dostęp do dysku twardego mogą być wykonywane w tym samym czasie.
user9430
2

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.

ChrisF
źródło
Właściwie mój procesor, zarówno dla par2, jak i do defragmentacji, ma zużycie 0-5%. Próbowałem obniżyć priorytet zarówno na par2.exe, jak i na sabnzbd, ale nie przyniosło to żadnego efektu. Zrozumiałbym, gdyby to było wysokie użycie procesora, ale tutaj wygląda na to, że mój komputer ma mnóstwo dostępnych zasobów i po prostu ich nie używa.
user9430