Dlaczego aktywność dysku twardego spowalnia cały system (w systemie Windows 7)?

15

Jeśli skopiuję dużą ilość danych z dysku na inny dysk (fizyczny), cały mój system będzie działał wolno.

Używam 64-bitowej wersji systemu Windows 7 na procesorze Intel Core 2 Duo 3 GHz.

Oto sytuacja:

  • Bardzo szybkie kopiowanie między dwoma dyskami SATA.
  • Monitor zasobów pokazuje odczyt 80 MB / s, zapis 70 MB / s i łączny 150 MB / s
  • Całkowite obciążenie procesora wynosi około 3%
  • Zostało dużo (> 2 GB) wolnej fizycznej pamięci RAM
  • Wszystkie partycje mają wystarczającą ilość (> 10 gb,> 10%) wolnego miejsca i wykazują małą fragmentację
  • Oprogramowanie antywirusowe nie jest aktywne

Oto problem: bez względu na to, co chcę robić podczas kopiowania, trwa to wiecznie. Nawet zadania, które nie wymagają dużego dostępu do dysku (ponieważ powinny działać tylko z pamięci RAM), są bardzo wolne. W momencie zatrzymania procesu kopiowania wszystkie niedokończone zadania kończą się jednocześnie. Na przykład próba otwarcia nowego okna przeglądarki lub okna eksploratora nie będzie działać. Jeśli kopiowanie zostanie zatrzymane, pojawi się 5 okien eksploratora jednocześnie.

Moje pytanie brzmi: dlaczego? Jaki zasób jest wyczerpany, jeśli procesor i pamięć są bezczynne? A jaką część mojego komputera muszę zaktualizować, aby uzyskać lepsze zachowanie? Przeczytaj także komentarz Psycogeek, aby uzyskać dalsze pytania w tym kierunku.

Jeśli twoja odpowiedź brzmi: wszystko potrzebuje dostępu do HDD, który jest blokowany przez takie działanie, to moje pytanie brzmi: czy istnieje sposób na skopiowanie czegoś w systemie bez uczynienia go bezużytecznym, dopóki nie zostanie zrobione? (które mogą być godzinami, jeśli trzeba skopiować> 500 g).

użytkownik4514
źródło
4
Zawsze się nad tym zastanawiałem i czy istnieją różnice w zależności od płyt głównych / mikroukładów. Jeśli istnieje wysoka transmisja danych w magistralach, może to spowodować zapchanie całego systemu. To duże wykorzystanie „zasobów”, ale dla których nie dają nam licznika procentowego?
Psycogeek,
Wystarczy szybki fakt, że może się okazać przydatny - szybkość transferu @ szybkość odpowiedzi. HDD: 100 MB / s przy 10 ms. Szybkość transferu SSD: 500 MB / s przy 0,1 ms. Szybkość transferu pamięci RAM: 20 000 MB / s przy 60ns. Pamięć podręczna procesora: 100 000 MB / s przy 0,5 ns (zakładana prędkość zegara 2 GHz, długość słowa 32 bity). Widzisz wąskie gardło?
cp2141
To tylko dzika hipoteza, ale może musisz zaktualizować sterowniki chipsetu? Ponadto w Menedżerze urządzeń upewnij się, że buforowanie zapisu jest włączone dla każdego z dysków.
Bigbio2002
Nie sądzę, że buforowanie zapisu pomaga przy długich zapisach.
ThunderByrd43,

Odpowiedzi:

7

Jeśli używasz wielu zasobów na tym samym dysku twardym, jest to normalne zachowanie. Dyski twarde są dużymi, mechanicznymi urządzeniami, które są dobre w jednym - robią tylko jedno w danym momencie. Możesz odczytywać / zapisywać tylko jeden sektor na raz, więc próby jednoczesnego użycia dysku twardego zwykle powodują przeładowanie . To nie jest efekt uboczny niczego innego niż sprzęt działający zgodnie z przeznaczeniem.

Jeśli robisz wiele rzeczy na mechanicznym dysku twardym naraz, możesz uzyskać lepsze wyniki, wykonując te czynności pojedynczo. Jeśli mówisz o transferach plików, rozważ zastąpienie programu do obsługi kopiowania plików Eksploratora innym programem obsługującym kolejkowanie transferu (takim jak TeraCopy , który pozwoli ci również wstrzymać transfer, jeśli potrzebujesz tymczasowo szybkiego dostępu do dysku).

Możesz również pomóc złagodzić te efekty za pomocą dysku SSD, ale nie jest to żadną gwarancją - pomaga tylko z powodu drastycznie zredukowanego czasu losowego dostępu. Nadal możesz mieć thrashowanie z dyskiem SSD, a dysk SSD wciąż ma takie same ograniczenia - może odczytywać lub zapisywać tylko jeden sektor na raz.

Jeśli dysk SSD nie jest trasą, którą chcesz wybrać, rozważ użycie dysku RAM, wykonanie dowolnego przetwarzania danych w pamięci, dodanie dodatkowych napędów (nie partycji) dla każdego zadania lub wykonanie intensywnych operacji we / wy na urządzeniach innych niż Dyski z systemem operacyjnym.

Przełom
źródło
1
Musi być w tym coś więcej niż dyski twarde. Mam 7 dysków twardych, a 4 są na osobnym kontrolerze PCI-E. Dławienie może wystąpić z powodu dużej aktywności dysku niezwiązanej z dyskiem systemowym, z którego uruchamiam program. . . Kiedy miałem „prawdziwą” kartę rajdową w gnieździe PCI (dawno temu), nie było „tak źle”. Chciałbym wiedzieć, czy w MB są różne mikroukłady, czy coś, co lepiej sprawdza paski boczne?
Psycogeek,
to działa jak. . . pamiętasz podczas pracy z urządzeniem CD-Rom w systemie PATA, a system po prostu zaparkowałby w oczekiwaniu na zwrot z urządzenia? tak. Nie wiem
Psycogeek,
Dziękuję za twoje przemyślenia, ale tak naprawdę nie pomagam, jak powiedziałem: „Nawet zadania, które nie wymagają
dużego
2
@Psycogeek to zależy od twojego konkretnego sprzętu. Mam 4 dyski twarde na pulpicie i używanie tych ostatnich 3 (tj. Dysków niesystemowych) rzadko ma wpływ na mój główny dysk, utrzymując system operacyjny i programy. Często wykonuję kopie zapasowe gigabajtów danych w tle (między tymi dyskami dodatkowymi) bez żadnych negatywnych skutków, nawet jeśli gram w grę.
Przełom
@ user4514 Wydaje mi się, że wyjaśniłem ten efekt w mojej odpowiedzi, ale rozwinę trochę dla ciebie. Nie każdy program jest ładowany całkowicie do pamięci po uruchomieniu. A nawet jeśli załadował tylko plik wykonywalny , co z dodatkowymi funkcjami biblioteki, które musi wywołać? Dynamicznie połączone biblioteki? Podstawowe funkcje systemu operacyjnego wywołują i przerywają? Tak właśnie działają komputery, a oprócz dodawania większej liczby dysków lub aktualizacji posiadanego oprogramowania, wszystko działa zgodnie z planem. Istnieją tutaj fizyczne ograniczenia ...
Przełom
3

Istnieją sposoby kopiowania, które można ograniczyć.

„FastCopy” może być użyty do zastąpienia operacji kopiowania w systemie i może być ustawiony tak, aby dusić własne operacje. Przepustnicę można ustawić „globalnie” lub ręcznie podczas kopiowania. Odwróć to :-) pozwalając, aby szybkie kopiowanie osiągnęło pełną prędkość, może kopiować znacznie szybciej, ale może pogorszyć system, użyć całego rdzenia procesora i często używać pamięci RAM do wykonania kopii. pozwala na to jedno, ale nie przetestowałem go jeszcze w Win7.

„TerraCopy” popularny zamiennik kopii systemowej, pozwala na wstrzymanie operacji kopiowania. dzięki niemu możesz uruchomić coś innego, a następnie cofnąć pauzę, aby kontynuować. Terracopy jest znany z pracy w win7.

Użyłem obu powyższych do kopiowania, ale unikam przejęcia wszystkich operacji, każda z nich może mieć rzeczy, których nie może zrobić dokładnie tak samo jak system. więc upewniam się, że oryginalna kopia systemowa jest nadal dostępna.

Psycogeek
źródło
1

Czy korzystasz z oprogramowania antywirusowego z włączonym skanowaniem podczas uzyskiwania dostępu? Jeśli tak, wyłącz skanowanie podczas uzyskiwania dostępu podczas kopiowania dużych plików. Ponownie załóż, kiedy skończysz.

Kilka razy widziałem podczas skanowania bardzo poważne problemy z wydajnością. Zasadniczo jest to spowodowane tym, że dyski czekają na silnik AV, a skanowanie dużych plików może chwilę potrwać.

mauvedeity
źródło
1
Zobacz moje pytanie: „Oprogramowanie antywirusowe nie jest aktywne”. W każdym razie dzięki
użytkownik4514
0

Miałem bardzo podobny problem: kopiowanie pliku z dysku twardego do wolnej sieci (tylko około MBit / s) przez robocopy. Cały komputer był dość bezużyteczny. System operacyjny (Win10) znajduje się na dysku SSD! Nawet przeglądanie (Firefox jest zainstalowany na partycji systemowej C :) był bardzo wolny, ponieważ otwieranie stron internetowych generuje IO.

Poprzez ProcessHacker https://processhacker.sourceforge.io/ Zmniejszyłem priorytet IO. Tak więc komputer pozostaje do użytku, a prędkość kopiowania nie wydaje się do tej pory zmniejszona.

Hannes
źródło