我正在尝试进行一些需要资源承受压力的测试。我能够找到使用PowerShell最大化CPU使用率的方法。
start-job -ScriptBlock{
$result = 1;
foreach ($number in 1..2147483647)
{
$result = $result * $number
}
}
有没有办法可以使用PowerShell来最大限度地提高内存使用率?
答案 0 :(得分:8)
试试这个:
$mem_stress = "a" * 200MB
编辑:如果cou无法在一个块中分配所有内存,请尝试在阵列中分配多个块:
$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