我正在尝试重现用户使用大量内存时似乎出现的错误。限制计算机可以使用的可用RAM或填充大部分内容的最佳方法是什么?我更喜欢这样做而不需要物理移除内存,也不需要运行一堆任意的,内存密集型程序(即Photoshop,Quake等)。
答案 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)
答案 3 :(得分:1)
答案 4 :(得分:0)
如果您使用Java进行开发,则可以在启动时设置JVM的内存限制。