概述
有些时候需要对处理器进行压力测试,但又不想使用第三方的C/S软件,其原因较多,比如:
- 内网环境不允许下载
- C/S软件体积庞大
- 安装比较耗时耗力
这里记录分享一下最近使用的这个脚本。
脚本内容
# 模拟CPU压力
function SimulateCPULoad {
$cpuCores = (Get-WmiObject -Class Win32_Processor).NumberOfCores
$loadPercentage = 100 # 设置CPU负载百分比
$processes = @()
for ($i = 0; $i -lt $cpuCores; $i++) {
$process = Start-Process -FilePath "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ArgumentList "-Command while (1) { }" -PassThru
$processes += $process
}
Start-Sleep -Seconds 99999 # 运行99999 秒钟
foreach ($process in $processes) {
Stop-Process -Id $process.Id
}
}
# 模拟内存压力
function SimulateMemoryLoad {
$memorySize = (Get-WmiObject -Class Win32_ComputerSystem).TotalPhysicalMemory
$loadPercentage = 80 # 设置内存负载百分比
$memoryLoad = $memorySize * $loadPercentage / 100
$memoryLoad = [math]::Floor($memoryLoad / 1024 / 1024) # 转换为MB
$buffer = New-Object Byte[] $memoryLoad
while ($true) {
$buffer += New-Object Byte[] 1024
}
}
# 调用函数进行模拟压力测试
SimulateCPULoad
SimulateMemoryLoad