C#console logging:它会有内存问题吗?

时间:2012-07-09 18:41:34

标签: c# windows logging console

所以我正在使用一个控制台应用程序,它将持续数天,数周或数月。

它将有用信息记录到文本文件中,但它也会写入控制台。我是否必须担心控制台内存由于某种原因没有被清除。好像没问题。

我写了一个小测试来吃午饭。我添加了一些随机分隔的字母,以便我的同事认为我必须处理大的东西并且可以吃更长的午餐。

for (Int64 i = 0; i < 1000000000000000000; i++)
            {
                string random = Path.GetRandomFileName();
                random = random.Replace(".", "");
                random = random.Replace("m", "               ");
                random = random.Replace("a", "                                  ");
                random = random.Replace("h", "                         ");


                Console.WriteLine("i " + i + "   " + random);

            }

因此,内存看起来稳定而无需写入文件。我只是想要一些确认,如果我确实有内存问题,那么它不是来自控制台...

如果我将其记录到文本文件中,内存确实会略微攀升。

2 个答案:

答案 0 :(得分:4)

  

它将有用信息记录到文本文件中,但它也会写入控制台。我是否必须担心控制台内存由于某种原因没有被清除。好像没事。

除非您将控制台设置为具有巨大的缓冲区,否则它将被重定向到内存中的文件系统,或者类似的东西。在正常情况下,应该没问题。

答案 1 :(得分:1)

不是问题,任何按Console.SetBufferSize()指定的方式滚动控制台缓冲区的文本都属于位桶。最大缓冲区大小为64KB,这是Console类忘记检查btw的限制。