Ali*_*vin 5 c# console memory-leaks console.writeline
我正在尝试减少我拥有的控制台应用程序的内存使用量。它应该连续运行几个小时,但似乎内存使用量每秒都在逐渐增加。它确实使用多个线程,并执行各种操作,但我在某处读到,大量调用 Console.WriteLine 也会导致内存峰值。
因为应用程序不断地写入控制台,我想内存使用可能就是因为这个。不幸的是,我无法轻松清除控制台,因为我将输出重定向到监视窗口。我暂时关闭了它,但内存仍在增加,这告诉我还有其他事情需要解决。
在我开始寻找内存泄漏之前,我想知道是否有人可以确认/验证拥有数千个 Console.WriteLine 是否会导致内存泄漏,或者重定向的输出缓冲区是否已经正确处理了内存泄漏。我尝试进行搜索,但没有找到太多相关信息。
进行数千次调用Console.WriteLine不会导致内存泄漏。我有一个长时间运行的程序(现在已经运行了 6 个月),每分钟向控制台写入几百行,并且其内存使用量保持不变。
偶尔一次写入数千行可能会因临时字符串而导致内存峰值,但这些内容将在下次运行 GC 时收集。但稳定的负载Console.WriteLine只会导致未收集字符串的稳定内存负载。不会一直增加。