如何限制RAM以测试低内存情况?

时间:2010-02-18 01:22:22

标签: performance memory ram

我正在尝试重现用户使用大量内存时似乎出现的错误。限制计算机可以使用的可用RAM或填充大部分内容的最佳方法是什么?我更喜欢这样做而不需要物理移除内存,也不需要运行一堆任意的,内存密集型程序(即Photoshop,Quake等)。

5 个答案:

答案 0 :(得分:11)

我正在从类似的问题中复制my answer

如果您正在测试本机/非托管/ C ++应用程序,则可以使用AppVerifier并使用低资源模拟设置,该设置将使用故障注入来模拟内存分配中的错误(以及许多其他事项)。它对于找到大量其他经常导致应用程序崩溃的微妙问题也非常有用。

您还可以使用consume.exe,它是Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1的一部分,可以轻松使用大量内存,磁盘空间,CPU时间,页面文件或内核池,并查看应用程序如何处理缺少可用资源。 (它会崩溃吗?性能如何受到影响?等等)

答案 1 :(得分:10)

使用虚拟机并在其上设置资源限制以模拟所需的条件。

VMWare是该领域的领导者之一,他们有一个free vmware player可以让你这样做。

答案 2 :(得分:3)

使用job objectulimit(1)

答案 3 :(得分:1)

创建虚拟机并将ram设置为您需要的内容。

我使用的是来自SUN的Virtual Box。

http://www.virtualbox.org/

设置起来很容易。

答案 4 :(得分:0)

如果您使用Java进行开发,则可以在启动时设置JVM的内存限制。