如何使用PowerShell最大化内存使用量

时间:2012-09-27 22:33:37

标签: testing memory powershell

我正在尝试进行一些需要资源承受压力的测试。我能够找到使用PowerShell最大化CPU使用率的方法。

start-job -ScriptBlock{
$result = 1; 
foreach ($number in 1..2147483647) 
    {
        $result = $result * $number
    }
}

有没有办法可以使用PowerShell来最大限度地提高内存使用率?

1 个答案:

答案 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