用于在高内存占用情况下实现高CPU和磁盘使用的脚本

问题描述 投票:1回答:3

我正在尝试创建一个非常简单的批处理脚本,以充分利用CPU和磁盘的低内存(RAM)占用空间。

目的是使系统测试和修复一些超时异常问题非常慢。

对于高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

有关如何增加磁盘使用率的任何建议。

注意:

  1. 如果我可以将CPU和磁盘使用率提高,我的任务就会完成,但我很想知道如何增加内存使用量。
  2. 我理解像使用Powershell和7Zip等许多zip / unzip这样的复杂解决方案可能会有效。但我想在不使用任何第三方工具(Burn测试)的情况下尽可能简单地实现这一点。
  3. 我也可以使用PowerShell,没有任何第三方工具。
performance powershell batch-file memory cpu-usage
3个回答
1
投票

使用Powershell:

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

使用IO读/写.enter image description here它可以加载高达25%


1
投票

正如@Squashman所建议的,我发现Diskspd Utility符合我的要求。

运行此简单命令的单个实例使我的磁盘使用率达到100%,CPU使用率达到50%。

Diskspd.exe -b8K -d60 -h -L -o2 -t4 -r -w30 -c50M c:\ io.dat

我的系统配置:

CPU:Intel Core i7-6600U 2.81Ghz

拉姆:16演出


0
投票

使用Diskspd Utility作为@squashman建议用于受控I / O负载。

这是低脚印,高CPU使用率脚本。没有.NET内存足迹来处理。如果您只想删除暂停,则删除暂停,否则,您访问并按下某个键的每个cmd窗口都会为您跳过CPU使用率(我的盒子上大约10%)。在服务器类计算机上,您可能必须增加创建的控制台数量。

@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
© www.soinside.com 2019 - 2024. All rights reserved.