【发布时间】:2013-10-23 23:46:12
【问题描述】:
我正在创建一个服务器(控制台应用程序),但在进行了一些长期测试后,我发现它会越来越多地消耗 RAM。对于本地测试套件,我没有使用太多 RAM (8GB-DDR3 @2400MHz)如果程序使用超过“x”数量的 RAM,有没有办法(在 Program.cs 中,我假设)重新启动程序?此外,一种方法可能是定时循环/检查?
【问题讨论】:
-
如果您正在编写服务器,通常不需要控制台应用程序,您需要 Windows 服务。
-
此外,如果消耗的内存量实际增加,则您的应用程序中存在内存泄漏,您应该修复。请注意,即使消耗的内存没有增长,它也可能看起来像是在增长。 .Net 并不总是将空闲内存返回给操作系统(除非操作系统告诉它需要内存)。
-
我建议先检查为什么你的应用程序使用了这么多内存,而不是检查它使用了多少内存..