2017-12-22 97 views
1

매우 작은 배치 스크립트를 만들어 메모리와 RAM이 적은 CPU와 디스크를 많이 사용하려고합니다.낮은 메모리 풋 프린트로 높은 CPU 및 디스크 사용률을 높이는 스크립트

목적은 시스템을 매우 느리게 테스트하여 일부 시간 초과 예외 문제를 해결하는 것입니다.

높은 CPU 사용량의 경우이 간단한 배치 스크립트로 실행하여 4-5 개의 인스턴스를 실행할 수 있습니다.

@echo off 
:loop 
goto loop 

나는 높은 디스크 사용량을 얻을뿐만 아니라 약간의 읽기 - 쓰기 작업을 수행 할 스크립트를 수정하지만 여러 인스턴스를 실행하고 있습니다에도 불구하고 나는 여전히 내 SSD 디스크를 거의 0 % 디스크 사용량을 얻고있다. 아래는 수정 된 스크립트입니다 -

@echo off 
:loop 
set file=D:\text%random%.txt 
FOR /L %%A IN (1,1,20) DO (ECHO This is garbage text. >> %file%) 
del %file% 
goto loop 

디스크 사용을 늘리는 방법에 대한 제안.

참고 : 나는 CPU 및 디스크 사용량이 높은 만들 수 있습니다,하지만 난뿐만 아니라 메모리 사용을 증가하는 방법을 알고 싶어 할 것입니다 경우 내 작업이 완료 될

  1. .
  2. 저는 Powershell 및 7Zip 등을 사용하여 많은 zip/unzip과 같은 복잡한 솔루션이 작동 할 수 있음을 이해합니다. 그러나 타사 도구 (번트 테스트)를 사용하지 않고 가능한 한 간단하게이 작업을 수행하려고합니다.
  3. 타사 도구 없이도 PowerShell을 사용할 수 있습니다.
+0

파워 쉘 제 3 당사자가 아닌 수단. 그것을 사용하고 싶지 않다면 왜 Powershell 태그를 사용 했습니까? – Squashman

+0

@Squashman : PS가 타사가 아니라는 것을 알고 있습니다. 사용할 수 있습니다. 난 단지 7zip과 같은 타사 도구에 대해서만 강조하고 싶었습니다. 혼란 스럽다면 제 진술을 다시 말합니다. – Koder101

+1

Microsoft는 사용자가 얻을 수있는 이전 유틸리티를 가지고 있기 때문에 제 3자인 것은 아닙니다. [SQLIO] (https://www.microsoft.com/en-in/download/details.aspx?id=20163). [DISKSPD] (https://gallery.technet.microsoft.com/DiskSpd-a-robust-storage-6cd2f223)로 대체되었습니다. – Squashman

답변

1

, 내 요구 사항을 충족 Diskspd 유틸리티를 발견했다.

이 간단한 명령의 단일 인스턴스를 실행하면 디스크 사용이 100 %로되고 CPU 사용량이 50 %가됩니다.

Diskspd.exe -b8K -d60 -h -L -O2 -T4 -r -w30 -c50M C : \ IO.DAT

내 시스템 구성 :

CPU : 인텔 코어 i7-6600U 2.81Ghz

램 : 16 개 연주회

1
PowerShell을 사용

:

"while (1) { echo (date) | out-file 'temp.file'; sleep 0.1; rm 'temp.file' } " 
> loadme.ps1 
~\Desktop $ 
.\loadme.ps1 

그리고 그것은 IO와 25 % 최대 개까지로드되는 읽기/쓰기. enter image description here

+0

콘솔 창에서 어떻게 투명성을 달성하고 있습니까? – TheIncorrigible1

+1

@ TheIncorrigible1 Win10 향상된 기능 : 속성 -> 색상 -> 불투명도보기 – Artyom

+0

달콤한! 그들은 그것을 업데이트 할 것이라고 생각하지 않았습니다. – TheIncorrigible1

0

@squashman은 제어 된 입출력로드에 대해 Diskspd Utility을 사용하십시오.

낮은 발 인쇄, 높은 CPU 사용률 스크립트입니다. 처리 할 .NET 메모리 풋 프린트가 없습니다. 당신이 그냥 가고 싶다면 일시 중지를 제거하십시오. 그렇지 않으면 방문하고 키를 누르는 각 cmd 창은 CPU 사용량을 (내 상자에서 ~ 10 %) 뛰어 넘을 것입니다. 서버 클래스 시스템에서는 생성되는 콘솔 수를 늘려야 할 수 있습니다. @Squashman에 의해 제안

@setlocal 
@set prompt=$G 
@if not defined _procCount set _procCount=0 
@echo _procCount==%_procCount% 
@set /a _procCount+=1 
@set _thisScript=%~f0 
@if %_procCount% lss 32 call start "Burn CPU %_procCount%" cmd.exe /k %_thisScript% 
@pause 

@set _accumulator=0 
@set _counter=2 
@set _result=0 

:top 
@set /a _counter+=1 
@set /a _result=%_counter%/2 
@if %_result% == 65535 @goto :ResetCounter 
@goto :top 

:ResetCounter 
@set /a _accumulator+=1 
@set _counter=2 
@echo %_accumulator% 
goto :top