我想编写一个在服务器上消耗大量内存的应用程序,以便能够显示与服务器上的内存压力相关的问题。我对 C# 相当了解,但我很好奇什么是使应用程序以可控方式消耗过多内存的最有效方法。例如,我希望能够传递一个参数,该参数表示消耗 x MB 内存并让它消耗接近该值的某个地方。关于我如何做到这一点的任何想法将不胜感激。
最佳答案
不是最简单的方法就是创建一个您感兴趣的大小的字节数组。要获得非常大的分配,您可能需要使用这种技术使用多个数组。
此外,如果你如此倾向,你可以 p/invoke VirtualAlloc
如果您只需要一个应用程序,您也可以使用来自 sysinternals 的 Testlimit。该实用程序用于 Mark Russinovich 的精彩 Pushing the Limits of Windows 系列。
关于c# - 创建内存消耗应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9370608/