Jak mogę uzyskać duże obciążenie procesora w systemie Windows?

76

Do celów testowych muszę wygenerować duże obciążenie procesora w systemie Windows Server 2003. Nie mogę zainstalować żadnego oprogramowania, ale muszę zadbać o to, co zapewnia system Windows.

Jaki byłby najlepszy sposób na osiągnięcie tego?

Morgon
źródło
4
Zwykle uruchamiam kilka instancji cmd.exe dir /s C:. Zdobądź około 10 takich jednocześnie, a uzyskasz bardzo wysokie wykorzystanie procesora (ponad 70% na wszystkich rdzeniach mojego i7-2600k) oraz wiele dysków I / O. Nie idealnie, ale wykonuje zadanie.
Andrew Lambert,

Odpowiedzi:

67

consume.exez Windows Server 2003 Resource Toolkit może to zrobić łatwo.

C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\x64>consume -cpu-time -time 5
Consume: Message: Time out after 5 seconds.
Consume: Message: Successfully assigned process to a job object.
Consume: Message: Attempting to start 256 threads ...
................................................................................
................................................................................
................................................................................
................
Consume: Message: Sleeping...

Wykorzystuje 100% czasu procesora na wszystkich rdzeniach, o ile działa. Może również zużywać inne zasoby (jak sama nazwa wskazuje).

Der Hochstapler
źródło
20
Resource Toolkit nie jest domyślnie instalowany.
HaydnWVN,
Co z serwerem 2008?
Jonathan Rioux,
@JonathanRioux: To samo rozwiązanie, pobierz zestaw narzędzi zasobów połączony w odpowiedzi i użyj consume.exe. Aplikacja nie jest domyślnie dołączana do żadnej wersji systemu Windows Server.
Der Hochstapler,
consume.exeMogą być również wykorzystywane do zużywają całą swoją przestrzeń dyskową za pomocą consume -disk-space -time 60. To bardzo przydatne narzędzie! Podczas instalacji jako część Resource Toolkit, zostanie on C:\Program Files (x86)\Windows Resource Kits\Toolsdomyślnie zainstalowany .
Benny Neugebauer,
Ładne narzędzie, ale pamiętaj, że zawsze zaczyna wątki z normalnym priorytetem, nawet jeśli sam EXE jest uruchamiany z „poniżej normalnego”.
EM0
39

Robi to następujący plik wsadowy:

@echo off
:loop
goto loop

Jeśli jednak masz wiele rdzeni, uruchom wiele wystąpień.

Aby zatrzymać, naciśnij Ctrl+ Cw konsoli.

kwant
źródło
To było idealne. Tylko jedno wykonanie na rdzeń. Najlepsze rozwiązania pozostają proste. Dziękuję Ci. ALE, nie mogę wymyślić, jak sprawdzić n rdzeni, które nie oglądają instancji% pierwszej instancji pętli, ponieważ mam fizyczne i rdzenie, ale nie licznik wątków na moim Windows7. ( wmic cpu get NumberOfCoresbyłoby 2, a ja mam 4 wątki, 2 rdzenie). Zgaduję, aby stworzyć automatyczną partię, która w pełni pasuje do 100% pojemności procesora. Z poważaniem.
erm3nda,
34

IntelBurnTest i Prime95 znane są właśnie z tego. Naprawdę nie wymagają instalacji, ponieważ można je uruchomić po rozpakowaniu odpowiednich zamków błyskawicznych, ale nie spełnia wymagań „musi być natywny”. Jestem overclockerem i to są narzędzia, których używam do zapewnienia absolutnej stabilności systemu, będą generować największe obciążenie z twojego komputera.

Jeśli chcesz, aby był to natywny program - Windows tak naprawdę nie jest wyposażony w narzędzia do robienia takich rzeczy, z wyjątkiem może powyższego pliku wsadowego, który będzie bałaganem, jeśli przejdzie w stan szaleństwa . (Nieskończone pętle mogą być nieuporządkowane).

ksenitorb
źródło
1
As for your want for it to be a native piece of software - windows doesn't really come with the tools to do such a thingAle taki jest wymóg pytania. Narzędzia, które zasugerowałeś, nie pasują do tego i powinny to być komentarze, a nie odpowiedź. except for maybe the above batch file, which is going to be a mess to handle if it goes haywire. (Infinite loops can be messyLedwie. System Windows zawiera kilka opcji programowania, które można łatwo wykorzystać, aby zużywały cykle procesora, zapewniając jednocześnie kontrolę.
Synetech
29

Zrobi to ciasna pętla w VBS bez I / O. Potrzebujesz tyle procesów, ile rdzeni. Poniższe wykorzysta 100% na mojej maszynie Wirtualnej Win2k3 lub 50% na moim dwurdzeniowym hoście (100%, jeśli uruchomię 2)

c:\test\>copy con thing.vbs
While True
Wend
^z
c:\test\>thing.vbs

Będziesz musiał zabić wscript.exe w menedżerze zadań, aby go zakończyć.

mgjk
źródło
Naprawdę nie rozumiem kodu, który umieściłeś. Czy przetestowałeś to przed przetestowaniem? Jak muszę to przetestować. Nie podajesz tyle informacji. Podoba mi się w ten sposób, ale wyjaśnij trochę. Brak nagrody za lenistwo.
erm3nda,
To jest wynik tworzenia skryptu i uruchamiania go.
mgjk
A gdzie jest scenariusz?
erm3nda
Jest to linia 2 i 3.
mgjk
Przykro mi, to VBS nie nietoperz. Mój błąd. Ten skrypt wymaga dokładnie 1 wątku. Musisz uruchomić wiele instancji, takich jak skrypt bat: goto. To odpowiednik VBS. Miły. dzięki.
erm3nda
9

CPUSTRES.EXE

Istnieje stare narzędzie SysInternals z 1996 roku o nazwie „Obciążenie procesora”, które nadal działa. (Właśnie wypróbowałem to na moim laptopie z systemem Windows 10).

Niestandardowe obciążenie procesora

Jest oparty na graficznym interfejsie użytkownika i pozwala na uruchomienie do czterech wątków o niestandardowej intensywności. Pozwala to dostroić żądane obciążenie procesora. Zasadniczo: jeden wątek z Activityustawionym na Maximumzużywa około 25% procesora. Na przykład: jeśli uruchomisz trzy wątki na maksimum, obciążenie procesora wzrośnie do około 75%.

Przenośny

CPUSTRES.EXEto przenośny plik do pobrania i nie wymaga instalacji.

StackzOfZtuff
źródło
CPUSTRES.EXE jest także zalecany przez Microsoft: blogs.msdn.microsoft.com/vijaysk/2012/10/26/… - Bardzo dobre narzędzie!
Benny Neugebauer,
To ładne narzędzie, ale niestety pozwala tylko na rozpoczęcie 4 wątków, co nie wystarcza, aby zmaksymalizować nowoczesny procesor (czterordzeniowy z hiperwątkowością).
EM0
5

HyperPi (GUI do uruchamiania SuperPi na wielu rdzeniach) można uruchomić bez instalowania, po prostu skopiuj go na serwer i uruchom z dowolnego miejsca. Nawet na czymś szybkim można załadować wszystkie rdzenie przez kilka godzin, wykonując powiedzmy 16 jednoczesnych obliczeń miejsc 32M.

JTotham
źródło
1
HyperPi (GUI to run SuperPi on multiple cores) can be run without installing just copy it to the server and run it from any location.To jest technika i nitpick. Kiedy ktoś mówi „nie można niczego zainstalować”, co niekoniecznie oznacza faktyczną instalację , może nie być w stanie uruchomić niczego nowego. Na przykład może istnieć zasada systemowa, która blokuje wszystkie programy oprócz tych z białej listy. Zapobiegłoby to uruchomieniu nawet „przenośnych” aplikacji, więc powiedzenie, że nie trzeba instalować, nie działa.
Synetech
4

Uruchomienie for /l %a in (0,0,1) do echo aw wierszu polecenia (drukowanie w nieskończonej pętli a) daje obserwowany efekt conhost.exeuruchomienia przy 10-20% obciążenia procesora w systemie Windows 7 na niskiej jakości mobilnym i5. Możesz spróbować uruchomić kilka z nich równolegle, na przykład następujące w pliku wsadowym:

start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a
start for /l %%a in (0,0,1) do echo a

To może sprawić, że Twój procesor będzie działał na 100%. Linie można dodawać / usuwać w celu dostosowania.
Ostrzeżenie: są to nieskończone pętle, które możesz mieć problem z zamknięciem. Liczby w nawiasach można zastąpić, np. (0,1,10000)Dla skończonej pętli. Ostatni numer (w skończonej pętli) można ustawić, aby dostosować czas działania. Jeśli się zastanawiasz, oznacza to po prostu „zacznij od liczby 0, zwiększaj o 1, aż osiągnie 10000”, co przekłada się na 10000 cykli pętli.

Kok
źródło
Testowałeś to? Jest to związane z IO, więc myślę, że prawdopodobnie nie osiągnie 100% wykorzystania procesora, bez względu na to, ile wystąpień uruchomisz.
Ben Richards,
1
Bardzo dobrze może zależeć od systemu. Dla mnie było to konsekwentnie powyżej 97%, chociaż dwm.exe25%, a wszystkie conhosty zawisały około 5-10%. W każdym razie rozwiązanie vbscript firmy mgjk jest bardziej eleganckie.
Bob
Konsola Windows jest wyjątkowo powolna, jeśli chodzi o zalewanie konsoli. Powoduje to również znaczne opóźnienie GUI, które może nie pozwolić na zabicie go za pomocą menedżera zadań. Pamiętaj, że Ctrl-C lub Ctrl-Break nie będą działać z powodu danych, które już są niedostępne.
kwantowo
4

Niedawno odkryłem i mogę polecić bezpłatną wersję HeavyLoad:

http://www.jam-software.com/heavyload/

Wykonuje skuteczną pracę przy podnoszeniu poziomów procesora, aby zobaczyć, jak aplikacje radzą sobie pod przymusem.

AndyUK
źródło
Jak powiedzieli:can’t install/run any third-party software; only built into Windows
Synetech
Uważam ten program prograt za bardzo interesujący. To po prostu działa i możesz również uzyskać 100% procesora, używając tylko 256 MB pamięci RAM (robię to na i5 4 GB pamięci RAM). Jedyną opcją, za którą tęsknię, jest stres GPU, który obiecuje oprogramowanie. @AndyUK, czy znalazłeś tę opcję?
erm3nda
1

Większość ludzi to robi, uruchamiając coś, co wymaga dużego przetwarzania - zalecono mi superpi , chociaż hyperpi może działać lepiej w nowoczesnym systemie. Oblicz absurdalnie dużą wartość pi, a to skutecznie uruchomi procesor przy pełnym obciążeniu.

Alternatywnie możesz uruchomić StressCPU, który opiera się na folding @ home

Jeśli chcesz utrzymywać wysokie obciążenia przez dłuższy czas, rozważ coś takiego jak folding @ home

Journeyman Geek
źródło
To samo
Synetech
1

Jeśli nie masz Internetu dla tego komputera lub nie pamiętasz strony internetowej dla tego testu procesora, a nie masz ochoty na pisanie skryptów, możesz skorzystać z wbudowanej funkcji zip w systemie Windows, aby skompresować kilka plików lub folderów jednocześnie .

Kliknij plik lub folder prawym przyciskiem myszy, wskaż polecenie Wyślij do, a następnie kliknij polecenie Folder skompresowany (skompresowany)

Możesz zrobić te same pliki / folder wiele razy w tym samym czasie, sugeruję użycie folderów z oknami lub programami.

Następnie możesz rozpakować pliki do innej lokalizacji i wykonać porównanie pliku z poleceniem fc, aby sprawdzić, czy wszystkie obliczenia przebiegły poprawnie. Chociaż sugerowałbym, aby użyć do tego jednego dużego pliku, ponieważ składnia polecenia do porównywania wielu plików ze standardowymi narzędziami systemu Windows jest denerwująca.

BeowulfNode42
źródło
Jestem pod wrażeniem tego. Pętla: goto na nietoperzu brzmi o wiele łatwiej. I unikaj bezsensownego użycia We / Wy.
erm3nda
1

Szybki, łatwy, PowerShell

while ($true){}

Nieskończona pętla bez wejść i wyjść; podobnie do odpowiedzi Quantum, jeśli masz wiele rdzeni, musisz uruchomić wiele instancji PowerShell z uruchomionym tym skryptem

ShaneC
źródło
0

Użyj wbudowanego „calc”, aby obliczyć 10000! (10000 silnia). Użyj dwóch lub trzech instancji, aby zmaksymalizować wielordzeniowy procesor.

awayand
źródło
W rzeczywistości będzie to przepełnienie obliczeń .... istnieje maksymalna wartość, którą wyliczy obliczenie, to mniej niż 10000, ale więcej niż 1000.
Diogo
@DiogoRocha Nie przepełniono: Mam 2,8462596809170545189064132121199e + 35659. Zrobiłem to jednak w niecałą sekundę na moim komputerze.
kwantowe
hmmm. Mój się przepełnił, w rzeczywistości silnia na cyfrowej kalkulacji jest matematycznie redukowana do skróconej serii ... jest to aproksymacja, która zmniejszy obciążenia procesora. jest to twój powód, ponieważ pozostawiłeś mniej niż 1 sekundę przetwarzania.
Diogo,
Podejrzewam, czy przepełnia się, czy nie, może zależeć od tego, czy procesor jest 32-bitowy czy 64-bitowy. Tak czy inaczej, nie widzę, jak zajęłoby to wiele cykli procesora. Właśnie wykonałem kilka silni i najwyższy, jaki mogłem osiągnąć, to 3248 !, ale żaden z nich nie zrobił nawet blipu na wykresie CPU Menedżera zadań i dlaczego miałby to robić? Czynniki są bardzo łatwą, bardzo tanią operacją matematyczną.
Synetech
@Synetech Mine przepełniło się, używając 64-bitowego systemu Windows 7. Użyłem kalkulatora Biginteger i dostałem to jako odpowiedź: pastebin.com/AeCf1s9c
starbeamrainbowlabs
0

Publikuję takie narzędzie o nazwie MultiCpuLoad .

  • Możliwość wyboru obciążenia od 20% do 90%.
  • Procesory do wyboru.
  • Bez instalacji.
  • Nie wymaga uprawnień administratora.

Wymaga .NET Framework 2.0, 3.5 lub 4.5.

http://www.ristaino.net/Software/MultiCpuLoad

figolu
źródło