我正在尝试做一些需要资源承受压力的测试。我能够找出如何使用 PowerShell 最大化 CPU 使用率。
start-job -ScriptBlock{
$result = 1;
foreach ($number in 1..2147483647)
{
$result = $result * $number
}
}
有没有办法可以使用 PowerShell 来最大化内存使用率?
我正在尝试做一些需要资源承受压力的测试。我能够找出如何使用 PowerShell 最大化 CPU 使用率。
start-job -ScriptBlock{
$result = 1;
foreach ($number in 1..2147483647)
{
$result = $result * $number
}
}
有没有办法可以使用 PowerShell 来最大化内存使用率?
试试这个:
$mem_stress = "a" * 200MB
编辑:如果不能在单个块中分配所有内存,请尝试在数组中分配多个块:
$mem_stress = @()
for ($i = 0; $i -lt ###; $i++) { $mem_stress += ("a" * 200MB) }
GC 似乎不会干扰这一点(在分配了 1 GB RAM 的 VM 中进行快速测试的结果):
PS C:\> $a = @()
PS C:\> $a += ("a" * 200MB)
PS C:\> $a += ("a" * 200MB)
PS C:\> $a += ("a" * 200MB)
PS C:\> $a += ("a" * 200MB)
The '*' operator failed: Exception of type 'System.OutOfMemoryException' was thrown..
At line:1 char:13
+ $a += ("a" * <<<< 200MB)
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : OperatorFailed