Performance 如何限制RAM以测试内存不足的情况?

Performance 如何限制RAM以测试内存不足的情况?,performance,memory,ram,Performance,Memory,Ram,我试图重现一个bug,它似乎是在用户用完一堆RAM时出现的。限制计算机可用RAM或填满大部分RAM的最佳方法是什么?我更喜欢这样做,而不需要物理上删除内存,也不需要运行大量任意的内存密集型程序(如Photoshop、Quake等)。使用虚拟机并对其设置资源限制,以模拟您想要的条件 VMWare是这一领域的领先者之一,他们有一个可以让您做到这一点的解决方案。使用或。我从一个类似的问题复制过来: 如果您正在测试本机/非托管/C++应用程序,您可以使用它的低资源模拟设置,该设置将使用故障注入来模拟内存

我试图重现一个bug,它似乎是在用户用完一堆RAM时出现的。限制计算机可用RAM或填满大部分RAM的最佳方法是什么?我更喜欢这样做,而不需要物理上删除内存,也不需要运行大量任意的内存密集型程序(如Photoshop、Quake等)。

使用虚拟机并对其设置资源限制,以模拟您想要的条件

VMWare是这一领域的领先者之一,他们有一个可以让您做到这一点的解决方案。

使用或。

我从一个类似的问题复制过来:

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


您还可以使用consume.exe,它是的一部分,以便轻松使用大量内存、磁盘空间、cpu时间、页面文件或内核池,并查看应用程序如何处理可用资源不足的问题。(是否崩溃?性能如何受到影响?等等)

创建一个虚拟机,并将ram设置为您需要的

我使用的是来自SUN的虚拟盒子


设置起来很容易。

如果您是用Java开发的,您可以在启动时为JVM设置内存限制。

+1对于consume.exe,我从来不知道。我不认为我会告诉我的测试人员,他们可能会对它发疯,并抱怨我写的东西在只有16MB RAM的情况下不能很好地工作,而CPU正在变得精神错乱:)