Jak ograniczyć prędkość zapisu HDD dla wybranych programów

23

Mój dysk twardy działa powoli 5400 obr./min. Podczas pracy z plikami o rozmiarze 10 GB nie można korzystać z komputera, dopóki duży plik nie zakończy tworzenia nowej kopii / muxowania / zapisu / itp. zależy od procesu, chodzi o to, że zużywa on całą prędkość dysku twardego i żaden inny program nie może być używany podczas tego procesu.

Pomyślałem więc, że może uda mi się ograniczyć prędkość zapisu HDD dla programów, z którymi pracuję, więc zarezerwowałbym wolne wolne miejsce na HDD do przeglądania Internetu lub odtwarzania plików mp3 podczas przetwarzania dużych plików.

użytkownik3108268
źródło
2
Nigdy nie słyszałem o ograniczonej przepustowości we / wy dysku twardego w systemie Windows, przynajmniej natywnie. Czy próbowałeś ustawić priorytet procesu ?:wmic process where name="calc.exe" CALL setpriority "idle"
Marcelo,
@Marcelo Priority określa czas pracy procesora, a nie dysku. Podczas przetwarzania dużego pliku dysk spowalnia komputer, a nie procesor.
Keltari,
2
Powiązane: superuser.com/questions/462541/…
Cees Timmerman
@Keltari Tak, jestem tego świadomy. Pomyślałem, że może modyfikując priorytet CPU może mieć jakiś wpływ ku ostatecznym celem w pytaniu.
Marcelo,
2
Jeśli komputer jest „bezużyteczny” podczas kopiowania dużych plików, czy możliwe jest, że zapomniałeś włączyć DMA? Zwykle to, czy dysk jest zajęty, robi niewielką różnicę, ponieważ dzieje się tak bez dużej (lub jakiejkolwiek) interwencji procesora.
Damon,

Odpowiedzi:

13

Niestety nie możesz tego zrobić. Sprzęt nie jest objęty aplikacjami, a nawet częściami systemu operacyjnego. Zasadniczo aplikacja mówi „zapisz to na dysk”, a system operacyjny to obsługuje. Aplikacja nie obsługuje tego, jak i nawet kiedy zostanie napisana. Wszystko to jest obsługiwane na poziomie sterownika i jądra i nie ma realnego sposobu, aby to zmienić.

Nawet gdybyś mógł to zrobić, faktem jest, że używasz wirującego dysku magnetycznego - i to bardzo powolnego - nie zobaczyłbyś dużego zysku. Napęd ciągle się kręci, a głowice poruszają się wzdłuż dysku. Nawet jeśli zapisałeś mniej do pliku, dysk będzie stale szukał odpowiednich obszarów na dysku do odczytu / zapisu do / z.

Twój najlepszy rozwiązaniem byłoby, aby uzyskać inny dysk i zrobić swoją pracę na tym dysku, pozostawiając swój pierwszy napęd za internet, MP3 itp

PS Nie wspomniałeś, ile masz pamięci RAM. Zamiana może być czynnikiem spowalniającym prędkość. W zależności od ilości pamięci RAM dodanie większej ilości pomoże tylko.

Keltari
źródło
2
Czy wersja systemu Linux dla Windows nie ionicebyłaby bliska odpowiedzi?
Daniel Beck
@DanielBeck Być może istnieje oprogramowanie, które może działać. Kto jednak wie, jakie komplikacje mogą wyniknąć z jego używania? Byłoby więc dużo łatwiej jest po prostu uderzenie w inny dysk i zrobić z tego problemu.
Keltari,
1
Możesz to zrobić. Zobacz odpowiedź dsulimano na podobne pytanie
niutech,
1
Nie widzę żadnego zasadniczego argumentu, dlaczego aplikacja nie może być ograniczana. Oto bardzo prosta przepustnica: Zawieś proces na 1 sekundę co sekundę. To dławi IO o około 50% i pozwala innym procesom wślizgnąć się do dysku. Czasy wyszukiwania są rzędu 10 ms.
usr
@usr: Zależy to od rodzaju i częstotliwości we / wy. Twoje podejście działa w niektórych przypadkach, ale nie w innych - np. Jeśli operacje we / wy odbywają się całkowicie w trybie jądra, nie sądzę, że zawsze możesz je zatrzymać, wstrzymując proces trybu użytkownika.
Mehrdad
9

Przetwarzanie Lasso umożliwia ustalanie priorytetów we / wy. Z ich FAQ:

Nowość w wersji 4.1 (v4.09 beta), Process Lasso ma jawne bieżące i domyślne ustawienia priorytetów we / wy dostępne dla tych, którzy ich potrzebują. Dotyczy to tylko NT6 + (Vista, Win7, ...).

JEDNAK, priorytety We / Wy systemu Vista są oparte na priorytecie wątku wykonującego operacje we / wy, który jest zależny od klasy priorytetów procesu wykonującego operacje we / wy. W rzeczywistości istnieją tylko dwa poziomy priorytetu do wykorzystania przez aplikacje, normalny i bardzo niski. Chociaż technicznie jest ich 5, tylko te dwa są wdrażane lub wykorzystywane przez procesy.

Dlatego dostosowanie priorytetów wątków będzie propagowane do operacji we / wy tego wątku. W ten sposób Process Lasso już dokonuje priorytetów we / wy. Microsoft zaleca aplikacjom dostosowanie priorytetu We / Wy poprzez ustawienie priorytetu wątku wywołującego (bezpośrednio lub przez dostosowanie podstawowej klasy priorytetu procesu).

Zobacz także artykuł na temat priorytetów we / wy od Microsoft .

niutech
źródło
1

To, co robię, gdy mam proces, który ciągle zjada wszystkie moje dyskowe operacje we / wy w systemie Windows, uruchamia Eksploratora procesów i wstrzymuje proces obrażania. Po zakończeniu mojej działalności i przygotowaniu się na trochę dłużej wznawiam ją. Zdecydowanie nie jest to najbardziej produktywny sposób, ponieważ kontroluje we / wy dysku we / wy, a proces będzie musiał poczekać, aż będziesz korzystać z komputera, ale jak dotąd nie widziałem lepszej alternatywy.

Z drugiej strony, jeśli możesz wykonać swój proces na Cygwin, możesz zainstalować pvna swoim komputerze i użyć go jako pierwszego lub ostatniego kroku z opcją (myślę, że to -r), aby zmniejszyć szybkość wyjściową pv.

RAKK
źródło