我想要编写一个在服务器上消耗大量内存的应用程序,以便能够显示与服务器上的内存压力相关的问题。我对C#非常了解,但是我很好奇什么是以可控的方式导致应用程序消耗过多内存的最有效的方法。例如,我希望能够传递一个参数,该参数表示消耗x的内存,并使其消耗接近该值的某个值。任何关于我如何做到这一点的想法都将非常感谢。
发布于 2012-02-21 09:05:23
最简单的方法不就是创建一个您感兴趣的字节数组。要获得非常大的分配空间,您可能需要使用多个使用此技术的数组。
此外,如果您非常喜欢,可以p/invoke到VirtualAlloc
如果你只需要一个应用程序,你也可以使用sysinternals的Testlimit。该实用程序在Mark Russinovich的出色的Pushing the Limits of Windows系列中使用。
发布于 2012-02-21 09:00:33
根据您正在寻找的“内存压力”:
发布于 2012-02-21 09:02:13
一种方法是创建一个字节数组。将输入值从MB转换为字节,然后分配数组。如果你想直接尝试堆栈分配,你可以使用stackalloc。
https://stackoverflow.com/questions/9370608
复制相似问题