计算我的服务使用的内存

时间:2012-11-29 19:37:35

标签: c# web-services web-applications memory-management

我有一个Web应用程序,它使用C#中的下一个代码从文件中读取数据:

string [] split_line;
System.IO.StreamReader sr = new System.IO.StreamReader(data_file);
line = sr.ReadLine();
while (line != null)
{
    dimenc[nn] = new double[dimentions+1];
    for (int m2 = 0; m2 < dimentions; m2++)
    {
        split_line = line.Split(new Char[] { ' ', ',', '\t' });
        dimenc[nn][m2] = Convert.ToDouble(split_line[m2]);
    }
    nn = nn + 1;
    line = sr.ReadLine();
}

我的localhost在ram中有8 GB但是当它开始读取大数据文件时,开始使用空洞内存,达到内存不足异常。

让我们说一个例子我的文件有10个元素,2个维度这将使锯齿状数据像这样:dimen[10][2]这样一个定位的物理内存将是160个字节,在更大的文件中我达到了找到1.5 Gb的物理内存然而,当我从任务管理员查看物理内存时,它说它已经使用了7.5 Gb或更多,那么这怎么可能呢?我有什么遗漏来计算它已被使用的总内存量吗?

0 个答案:

没有答案