Windows에서 어떻게 높은 CPU로드를 생성 할 수 있습니까?


76

테스트 목적으로 Windows Server 2003에서 높은 CPU로드를 생성해야합니다. 소프트웨어를 설치할 수는 없지만 Windows가 제공하는 것과 관련이 있습니다.

그것을 달성하는 가장 좋은 방법은 무엇입니까?


4
나는 보통으로 cmd.exe 인스턴스를 시작합니다 dir /s C:. 한 번에 10 명 정도만 실행하면 많은 디스크 I / O 외에도 CPU 사용량 (i7-2600k의 모든 코어에서 70 % 이상)을 얻을 수 있습니다. 완벽하지는 않지만 작업이 완료됩니다.
앤드류 램버트

답변:


67

consume.exe으로부터 Windows Server 2003의 리소스 툴킷은 쉽게이 작업을 수행 할 수 있습니다.

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...

실행하는 한 모든 코어에서 100 % CPU 시간을 사용합니다. 이름에서 알 수 있듯이 다른 리소스를 사용할 수도 있습니다.


20
Resource Toolkit은 기본적으로 설치되지 않습니다.
HaydnWVN

2008 서버는 어떻습니까?
Jonathan Rioux

@JonathanRioux : 동일한 솔루션으로 답변에 링크 된 리소스 툴킷을 다운로드하고 사용하십시오 consume.exe. 응용 프로그램은 기본적으로 모든 버전의 Windows Server에 포함되어 있지 않습니다.
Der Hochstapler

consume.exe또한 사용하는 모든 디스크 공간을 사용 할 수 있습니다 consume -disk-space -time 60. 매우 편리한 도구입니다! Resource Toolkit의 일부로 설치하면 C:\Program Files (x86)\Windows Resource Kits\Tools기본적 으로 설치됩니다 .
Benny Neugebauer 14시 58 분

멋진 도구이지만 EXE 자체가 "정상 아래"에서 시작 되더라도 항상 스레드를 보통 우선 순위로 시작한다는 점에 유의하십시오.
EM0

39

다음 배치 파일이이를 수행합니다.

@echo off
:loop
goto loop

그러나 코어가 여러 개인 경우 여러 인스턴스를 시작한 것입니다.

중지하려면 콘솔에서 Ctrl+ C를 누르십시오 .


완벽했습니다. 코어 당 한 번만 실행됩니다. 최상의 솔루션은 간단합니다. 감사합니다. 그러나 물리적 및 코어가 있지만 Windows7에서 스레드 카운터가 없기 때문에 첫 번째 루프 인스턴스 %를 감시하지 않는 n 코어를 확인하는 방법을 알 수 없습니다. ( wmic cpu get NumberOfCores2 일 것이고 4 개의 스레드, 2 개의 코어가 있습니다). 100 % CPU 용량에 완전히 맞는 자동 배치를 만들려고 생각합니다. 친애하는.
erm3nda

34

IntelBurnTestPrime95 는이 작업을 수행하는 것으로 유명합니다. 개별 zip 압축을 풀면 실행될 수 있기 때문에 실제로 설치가 필요하지 않지만 "기본적이어야 함"요구 사항을 충족하지는 않습니다. 내가 오버 클럭있어,이 내가 절대 시스템 안정성을 보장하기 위해 사용하는 도구, 그들은 것입니다 컴퓨터에서 최대한의 부하를 생성합니다.

당신이 원했던 것은 소프트웨어의 기본 부분입니다. 윈도우에는 실제로 배치 파일을 제외하고는 그러한 일을 수행하는 도구가 없습니다. . 무한 루프는 지저분해질 수 있습니다.


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 thing그러나 이것이 질문의 요구 사항입니다. 제안한 도구가 적합하지 않으므로 답이 아닌 설명이어야합니다. except for maybe the above batch file, which is going to be a mess to handle if it goes haywire. (Infinite loops can be messy거의. Windows에는 여전히 제어권을 제공하면서 CPU주기를 쉽게 소비 할 수있는 몇 가지 프로그래밍 옵션이 포함되어 있습니다.
Synetech

29

I / O가없는 VBS의 긴밀한 루프가이를 수행합니다. 코어만큼 많은 프로세스가 필요합니다. 다음은 Win2k3 VM에서 100 %를 사용하거나 듀얼 코어 호스트에서 50 %를 사용합니다 (2를 시작하면 100 %).

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

작업 관리자에서 wscript.exe를 종료해야합니다.


나는 당신이 넣은 코드를 이해하지 못합니다. 테스트하기 전에 테스트 했습니까? 테스트하려면 어떻게해야합니까? 당신은 너무 많은 정보를 넣지 않았습니다. 나는 그런 식으로하지만 조금 설명합니다. 게으름에 대한 상 없음.
erm3nda

이것이 스크립트를 생성하고 실행 한 결과입니다.
mgjk

그리고 스크립트는 어디에 있습니까?
erm3nda

2 행과 3 행입니다.
mgjk April

죄송합니다. 박쥐가 아닌 VBS입니다. 내 실패 이 스크립트는 정확히 1 개의 스레드를 사용합니다. bat : goto 스크립트와 같은 여러 인스턴스를 실행해야합니다. vbs 대응입니다. 좋은. 감사.
erm3nda

9

CPUSTRES.EXE

1996 년부터 "CPU Stress"라는 오래된 SysInternals 도구 가 여전히 작동합니다. (방금 Windows 10 랩톱에서 시도했습니다.)

커스텀 CPU로드

GUI 기반이며 사용자 지정 강도로 최대 4 개의 스레드를 실행할 수 있습니다. 이를 통해 원하는 CPU로드를 조정할 수 있습니다. 경험적으로,로 Activity설정된 하나의 스레드 Maximum는 약 25 %의 CPU를 소비합니다. 예를 들어 : 최대로 3 개의 스레드를 실행하면 CPU로드가 약 75 %가됩니다.

가지고 다닐 수 있는

CPUSTRES.EXE휴대용 다운로드 이며 설치가 필요하지 않습니다.


CPUSTRES.EXE도 Microsoft에서 권장합니다 : blogs.msdn.microsoft.com/vijaysk/2012/10/26/…- 아주 좋은 도구!
Benny Neugebauer

좋은 도구이지만 불행히도 4 개의 스레드 만 시작할 수 있습니다. 이는 현대 프로세서 (쿼드 코어가있는 쿼드 코어)를 최대한으로 활용하기에 충분하지 않습니다.
EM0

5

HyperPi (여러 코어에서 SuperPi 를 실행하기위한 GUI)는 서버에 복사 한 후 아무 위치에서나 실행하지 않고도 실행할 수 있습니다. 빠른 속도에서도 16 시간 동안 32M 장소 계산을 수행하여 몇 시간 동안 모든 코어를로드 할 수 있습니다.


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.그것은 기술과 이쑤시개입니다. 사람이 말할 때 반드시 실제로 의미하는 것은 아니다 "아무것도 설치할 수 없습니다" 설치를 , 그들은 실행할 수 없습니다 아무것도 새로운합니다. 예를 들어 화이트리스트에있는 프로그램을 제외한 모든 프로그램을 차단하는 시스템 정책이있을 수 있습니다. 이렇게하면 "휴대용"앱도 실행되지 않으므로 설치할 필요가 없습니다.
Synetech

4

for /l %a in (0,0,1) do echo a명령 프롬프트에서 실행 하면 (무한 루프 인쇄 a) conhost.exe저사양 모바일 i5의 Windows 7에서 10-20 %의 CPU로드에서 실행 이 시작되는 것으로 관찰 되었습니다. 배치 파일에서 다음과 같이 여러 가지를 병렬로 실행할 수 있습니다.

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

CPU가 100 %로 실행될 수 있습니다. 라인을 추가 / 제거하여 조정할 수 있습니다.
경고 : 무한 루프이므로 닫는 데 문제가있을 수 있습니다. 괄호 안의 숫자는 예를 들어 (0,1,10000)유한 루프 등 으로 대체 될 수 있습니다 . 마지막 시간 (유한 루프)은 실행 시간을 조정하도록 조정할 수 있습니다. 궁금한 경우 기본적으로 "숫자 0에서 시작하여 10000에 도달 할 때까지 1 씩 증가"를 의미하며 이는 10000 개의 루프 사이클로 변환됩니다.


이것을 테스트 했습니까? 이것은 IO 바인딩이므로 시작한 인스턴스 수에 관계없이 CPU 사용률이 100 %에 도달하지 않을 것이라고 생각합니다.
벤 리차드

1
시스템에 따라 다를 수 있습니다. 나를 위해, 그것은 지속적으로 총 97 %를 dwm.exe넘어 섰지 만 , 25 %와 모든 호스트는 약 5-10 %를 맴 돌았습니다. 어쨌든 mgjk의 vbscript 솔루션은 더 우아합니다.
Bob

콘솔을 넘치게 할 때 Windows 콘솔은 매우 느립니다. 또한 작업 관리자를 사용하여 죽일 수없는 상당한 GUI 지연이 발생합니다. 이미 종료 된 데이터로 인해 Ctrl-C 또는 Ctrl-Break가 작동하지 않습니다.
quantum

4

최근에 HeavyLoad의 무료 버전을 발견하고 추천 할 수 있습니다.

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

CPU 수준을 펌핑 할 때 효과적인 작업을 수행하여 애플리케이션이 어떻게 위협에 대처하는지 확인합니다.


그들은 말했듯이 :can’t install/run any third-party software; only built into Windows
Synetech

나는 그 축하 프로그램이 매우 흥미 롭다는 것을 알았습니다. 그것은 간단하게 작동하며 256Mb의 램 만 사용하여 100 % CPU를 얻을 수 있습니다 (참고로 i5 4gb 램에서 수행합니다). 내가 놓친 유일한 옵션은 소프트웨어가 약속하는 GPU 스트레스입니다. @AndyUK, 그 옵션을 찾았습니까?
erm3nda

1

대부분의 사람들이 처리하는 방식은 많은 처리 작업을 수행하는 것입니다. 하이퍼 파이 는 최신 시스템에서 더 잘 작동 할 수 있지만 superpi를 권장 했습니다 . 터무니없이 큰 pi 값을 계산하면 프로세서를 최대 부하로 효과적으로 실행합니다.

또는 collapse @ home을 기반으로 하는 StressCPU 를 실행할 수 있습니다

오랜 시간 동안 높은 하중을 유지해야하는 경우 collapse @ home 과 같은 것을 고려하십시오.



1

해당 PC에 인터넷이 없거나 해당 CPU 테스트를위한 웹 사이트를 기억할 수없고 스크립팅이 마음에 들지 않으면 압축 기능이 내장 된 창을 사용하여 여러 파일 또는 폴더를 동시에 여러 번 압축 할 수 있습니다 .

파일이나 폴더를 마우스 오른쪽 단추로 누르고 보내기를 가리킨 다음 압축 (Zip) 폴더를 누릅니다.

동일한 파일 / 폴더를 동시에 여러 번 수행 할 수 있습니다 .Windows 또는 프로그램 파일 폴더를 사용하는 것이 좋습니다.

그런 다음 파일을 다른 위치에 압축 해제하고 fc 명령과 파일을 비교하여 모든 계산이 올바르게 수행되었는지 확인하십시오. 표준 Windows 도구를 사용하여 많은 파일을 파일 비교하는 명령 구문으로 하나의 큰 파일을 사용하는 것이 좋습니다.


그것에 감동했습니다. 박쥐의 : goto 루프는 훨씬 쉽게 들립니다. 넌센스 I / O 사용을 피하십시오.
erm3nda

1

빠르고 쉬운 PowerShell

while ($true){}

입력 또는 출력이없는 무한 루프; Quantum의 답변과 비슷하지만 코어가 여러 개인 경우이 스크립트를 실행하여 여러 PowerShell 인스턴스를 시작해야합니다.


0

내장 된 "calc"를 사용하여 10000을 계산하십시오! (10000 계승). 2 ~ 3 개의 인스턴스를 사용하여 멀티 코어를 최대한 활용하십시오.


실제로 그것은 calc를 오버플로 할 것입니다 .... calc가 계산할 최대 값이 있으며, 10000보다 적지 만 1000보다 큽니다.
Diogo

@ DiogoRocha 오버플로하지 않았습니다 : 2.8462596809170545189064132121199e + 35659를 얻었습니다. 그러나 내 컴퓨터에서 1 초도 채 걸리지 않았습니다.
quantum

흠. 실제로 오버플로가 발생했습니다. 실제로 디지털 계산기의 계승은 잘린 시리즈로 교묘하게 줄어 듭니다. 그것은 CPU 부하를 줄이는 근사입니다. 당신이 처리의 1 초를 남겨 때문에 너를 이유는 ...
디오고

CPU가 32 비트인지 64 비트인지에 따라 오버플로 여부가 의심됩니다. 어느 쪽이든, 나는 그것이 얼마나 많은 CPU 사이클을 차지하는지 알 수 없습니다. 방금 몇 가지 계승을 수행했으며 3248을 달성 할 수 있었지만 작업 관리자의 CPU 그래프를 한 번도 보지 못했던 이유는 무엇입니까? 계승은 매우 쉽고 매우 저렴한 수학적 연산입니다.
Synetech

@Synetech Mine이 Windows 7 64 비트를 사용하여 오버플로되었습니다. 나는 BigInteger를 계산기를 사용하고 대답 것처럼이있어 : pastebin.com/AeCf1s9c
starbeamrainbowlabs

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.