Czy istnieją rozwiązania, które mogą ograniczyć użycie procesora przez proces?

70

Używam starego laptopa i wykonuję intensywne przetwarzanie, które wymaga dużego zużycia procesora przez długi czas (~ 30 minut - 2 godziny). Kiedy proces długo obciąża procesor, procesor się przegrzewa i komputer się wyłącza. Nie chcę używać lodówki / stojaka, ponieważ noszę tego laptopa i pracuję poza domem.

Czy istnieje sposób / aplikacja, w której mogę ograniczyć użycie procesora przez proces w systemie Windows?

Uwaga: Ustawienie priorytetu procesu w menedżerze zadań nie działa.

Uwaga 2: Wentylatory są czyste.

nimcap
źródło
6
Czy wynajęcie 3 godzin czasu procesora na EC2 nie jest możliwe? Wyobrażam sobie, że działałoby to znacznie lepiej w większości przypadków.
digitxp
czy możesz określić, która wersja systemu Windows i który stary laptop? Jeśli w środku jest dwurdzeniowy, możesz po prostu określić, aby aplikacja działała tylko na jednym rdzeniu, co utrzymuje ją na poziomie 50%, a tym samym na niższych temperaturach.
Joris Meys,
4
@digitxp: Jestem doktorantem w tej chwili, gdyby to było w celach biznesowych,
kupiłbym

Odpowiedzi:

64

Wyszukiwanie w Internecie przynosi programy, które mogą pomóc. Wszystkie są bezpłatne .

BES - Battle Encoder Shirase

BES to małe narzędzie, które ogranicza użycie procesora dla określonego procesu: na przykład możesz ograniczyć użycie procesora przez proces, który zużyłby procesor 100%, nawet do 50% (lub dowolnego procentu, jaki lubisz). Dzięki temu możesz wygodnie korzystać z innych programów, wykonując w tle czynności wymagające dużej mocy procesora. Ograniczając obciążenie procesora, możesz także natychmiast ochłodzić procesor, gdy robi się za gorąco. Oczywiście prędkość przetwarzania zostanie spowolniona proporcjonalnie, jeśli ograniczysz użycie procesora, ale powinno to być znacznie lepsze niż zawieszanie się z powodu wysokiej temperatury lub (w najgorszym przypadku) zepsucia komputera ze spalonym procesorem.

Pogromca procesów

Process Tamer to małe (140k) i bardzo wydajne narzędzie dla systemu Microsoft Windows XP / 2K / NT / Vista / Win7, które działa w zasobniku systemowym i stale monitoruje użycie procesora przez inne procesy. Gdy zobaczy proces, który przeciąża procesor, tymczasowo zmniejsza priorytet tego procesu, dopóki użycie procesora nie wróci do rozsądnego poziomu.

Przetwarzaj Lasso

Process Lasso to wyjątkowa nowa technologia, która poprawi responsywność i stabilność twojego komputera w okresach dużego obciążenia procesora. System Windows z założenia umożliwia programom monopolizację procesora bez ograniczeń - co prowadzi do zawieszeń, zawieszeń i opóźnień. Przetwarzanie Technologia ProBalance (Balance Balance) firmy Lasso inteligentnie dostosowuje priorytety uruchomionych programów, aby źle działające procesy nie wpływały negatywnie na szybkość reakcji komputera.

Mehper C. Palavuzlar
źródło
10
z trzech BES wygląda jak najlepszy zakład. pozostałe dwie wykorzystują wartości priorytetów, które nie działały zgodnie z pytaniem
RobotHumans
4
BES to mój wybór. Jest lekki i robi to, co powinniśmy robić.
nimcap
1
BES nie może ograniczyć Windows Live Mesh (MOE.exe); nadal używa 95% niezależnie od jakichkolwiek ustawień. Inni nie mogą pomóc, ponieważ jest już ustawiony priorytet Bezczynności. W każdym razie spowalnia cały system operacyjny.
RomanSt
Dobrze. BES to unikalny wykonujący ogranicznik% procesorów. Dlaczego zajmuje 3. pozycję? :(
erm3nda
Ze strony internetowej BES: „tak, BES to narzędzie, które okresowo uśpia cel na bardzo krótki czas”.
mtone
15

Najłatwiejszym rozwiązaniem, jakie znalazłem, jest ograniczenie mocy procesora.

  1. Przejdź do Panelu sterowania.
  2. Sprzęt i dźwięk
  3. Opcje mocy
  4. Edytuj ustawienia planu
  5. Zmień zaawansowane ustawienia zasilania
  6. Zarządzanie energią procesora
  7. Maksymalny stan procesora i obniż go do 80% lub cokolwiek chcesz. Za pomocą oprogramowania mierzącego temperatury procesora, takiego jak „Speed ​​fan”, zauważysz, że temperatura spada.
Zeppi Ta Leli II
źródło
Możesz także dostosować politykę chłodzenia, gdzie może pomóc tryb pasywny
CrandellWS
9

Jasne, że to stare pytanie, ale jestem zaskoczony, że nikt jeszcze tego nie sugerował:

Zmniejsz prędkość procesora.

Praktycznie wszystkie laptopy i sam system Windows mają wbudowane mechanizmy do dynamicznego dostosowywania szybkości procesora do obciążenia. Możesz zastąpić to zachowanie - na przykład w Panelu sterowania => Opcje zasilania => Zaawansowane, możesz ustawić maksymalną prędkość procesora, która jest mniejsza niż 100%. Twój procesor będzie wtedy ograniczony do niższej prędkości, a zatem generuje mniej ciepła, bez względu na to, co robisz.

Nie wymaga to żadnego dodatkowego oprogramowania, a co ważniejsze, zmniejszenie szybkości procesora powoduje, że procesor jest bardziej wydajny , dlatego jest lepszym rozwiązaniem niż ograniczenie użycia procesora w systemie Windows. Wykorzystanie 50% procesora o częstotliwości 2,0 Ghz zużyje znacznie więcej mocy niż 100% procesora o częstotliwości 1,0 Ghz. Mniejsza moc = mniej ciepła.

qasdfdsaq
źródło
5

Chciałem dodać aplikację, z której korzystałem w przeszłości, aby skutecznie ograniczyć wykorzystanie procesora. W przeszłości korzystałem z Threadmaster kilka razy.

http://threadmaster.tripod.com/

Jan
źródło
5

W Windows 10, 8 i 7:

  1. Przejdź do Menedżera zadań.
  2. Kliknij prawym przyciskiem myszy proces, dla którego użycie procesora ma być ograniczone. Kliknij Idź do szczegółów .
  3. Teraz pojawi się zakładka szczegółów. Kliknij konkretny proces prawym przyciskiem myszy, wybierz zestaw powinowactwa i wybierz rdzenie, które zezwolisz na użycie określonego procesu.
sebine francis
źródło
1
W systemie Windows 7 kliknięcie prawym przyciskiem myszy procesu w menedżerze zadań powoduje wyświetlenie menu kontekstowego, a jedną z opcji jest „Ustaw koligację”, która działa zgodnie z opisem.
David Richerby,
Proces, który chcę ograniczyć użycie procesora, jest wyszarzony. Przejdź do szczegółów jest nieaktywna.
Santosh Kumar
3

Zamiast pobierać program, aby to zrobić, jeśli przejdziesz do menedżera zadań i przejdziesz do szczegółów, zobaczysz listę uruchomionych procesów. Jeśli klikniesz prawym przyciskiem myszy i użyjesz opcji „ustaw koligację” zamiast „ustaw priorytet”, możesz wybrać liczbę rdzeni używanych przez pojedynczy program, ograniczając w ten sposób ilość procesora wykorzystywanego przez program.

GimmeMyGold
źródło
Większość programów jest jednowątkowa, więc ustawienie powinowactwa na 1 rdzeń wcale nie pomoże. (Programy jednowątkowe mogą używać tylko jednego rdzenia procesora, a przede wszystkim nie używały więcej niż jednego rdzenia.)
CausingUnderflowsEverywhere
3

Innym bardzo wygodnym sposobem ustawienia powinowactwa określonego pliku wykonywalnego podczas uruchamiania jest użycie polecenia start .

np. „start / affinity F iexplore.exe”. Jeśli istnieje jedna aplikacja, którą chcesz uruchomić w ten sposób ograniczoną, możesz utworzyć skrót za pomocą tego polecenia. Zauważ, że powinowactwo jest ustawiane przez wartość szesnastkową, co może wymagać pewnych prób i błędów. Sprawdź proces w menedżerze zadań, aby zobaczyć rzeczywisty wynik powinowactwa!

Zobacz więcej tutaj: http://blogs.msdn.com/b/santhoshonline/archive/2011/11/24/how-to-launch-a-process-with-cpu-affinity-set.aspx

HPHP
źródło
2

Obecnie najlepszym rozwiązaniem jest ograniczenie wykorzystania procesora na proces poprzez ograniczenie powinowactwa procesora (rdzeni, do których proces ma dostęp). Masz mniejszą precyzję (możesz ograniczyć tylko do niektórych wartości procentowych), ale jest to bardziej naturalna operacja niż próba okresowego zawieszania i wznawiania wątków procesu. Process Lasso wykonuje dobrą robotę z domyślnymi (trwałymi) powinowactwami do procesora. Ma jednak również „twarde” ograniczenie stylu BES, choć nie jest to zalecane, ponieważ jest to tak nienaturalny akt.

dyasta
źródło
1

Podkręcenie procesora pozwoli na osiągnięcie niższych prędkości procesora, obniżając wytwarzane ciepło. Możesz potrzebować zaawansowanego doświadczenia, jeśli Twoja płyta główna lub procesor nie mają możliwości modyfikacji szybkości zegara za pomocą programu do pobrania. (Wyszukaj narzędzia do podkręcania dla procesora lub płyty głównej (tylko od producenta procesora i płyty głównej), pamiętaj, że będziesz zainteresowany podkręcaniem).

W przypadku, gdy nie ma dostępnych narzędzi, musisz wprowadzić BIOS komputera i zmodyfikować częstotliwość taktowania procesora. Najprostszym sposobem jest ustawienie mnożnika na niższą liczbę. Nie dotykaj napięcia, ponieważ może to uszkodzić procesor, jeśli jest zbyt wysoki, lub powodować błędy, gdy jest zbyt niski. Częstotliwości też nie należy modyfikować, tylko mnożnik. Aby powrócić do ustawień domyślnych, przeczytaj instrukcję BIOS, aby określić klawisz, który należy nacisnąć, aby przywrócić ustawienia domyślne. (Lub po prostu dokładnie sprawdź ekran BIOS, szczególnie ekran wyjścia.)

CausingUnderflowsEverwhere
źródło