重启应用程序如果使用太多RAM

时间:2013-10-16 01:04:40

标签: c# memory

我正在创建一个服务器(控制台应用程序),但经过一些长期测试后,我发现它越来越多吃RAM。对于本地测试套件,我没有使用大量内存 (8GB-DDR3 @ 2400MHz)如果使用超过'x'的RAM,有没有办法(在Program.cs中,我假设)重启程序?另外,一种方法可能是定时循环/检查?

2 个答案:

答案 0 :(得分:0)

您可以使用GC.GetTotalMemory。它返回程序分配的内存的近似值(long)。

您可以创建Timer对象并在Tick事件处理程序下进行此比较。

有关详细信息,请查看此处:http://msdn.microsoft.com/en-us/library/system.gc.gettotalmemory.aspx

答案 1 :(得分:0)

我同意其他人对修复内存泄漏的看法。

如果要重新启动程序,请创建第二个监视第一个进程的应用程序。然后,当原始应用程序中的内存过高时,请安全地将其关闭并允许第二个应用程序再次启动它。