.NET Out of Memory的问题
iTidy 2007-03-01 01:58:01 做一个比较大型的软件,经常会抛“Out of Memory”的异常。像2G内存的机器,一般到1.2G左右,甚至在900M+的时候就会抛出这个异常。
自己写了以下代码测试
int arrayCount = 5000;
int rang2ArrayCount = 1024* 100;
float[][] floatArray = new float[arrayCount][];
for (int i = 0; i < arrayCount; i++)
{
Console.WriteLine("=================={0}==================", i);
floatArray[i] = new float[rang2ArrayCount];
ShowMemory();
}
当每次申请4k空间时,Process的WorkingSet可以达到400+(512M内存的机器,下同),而每次申请4M空间的时候,只用到了27M内存就抛异常了。每次申请空间越小,则抛异常的内存上限就不同。请问各位大虾,这是怎么一回事?