【问题标题】:How do I limit RAM to test low memory situations?如何限制 RAM 以测试低内存情况?
【发布时间】:2011-01-18 03:31:23
【问题描述】:

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

【问题讨论】:

    标签: performance memory ram


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      使用job objectulimit(1)

      【讨论】:

        【解决方案3】:

        我从一个类似的问题中复制my answer

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

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

        【讨论】:

        • +1 for consume.exe,我从来不知道。我不认为我会告诉我的测试人员,他们可能会为此发疯,并抱怨我写的东西在只有 16MB 的 RAM 和 CPU 的情况下运行不好:)
        【解决方案4】:

        创建一个虚拟机并将内存设置为您需要的。

        我用的是SUN的Virtual Box。

        http://www.virtualbox.org/

        很容易设置。

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-02-06
            • 1970-01-01
            • 1970-01-01
            • 2012-04-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多