我正在创建一个服务器(控制台应用程序),但在进行了一些长期测试后,我发现它会增长吃内存。对于本地测试套件,我没有使用太多 RAM(8GB-DDR3 @2400MHz)如果程序使用超过“x”数量的 RAM,是否有办法(在 Program.cs 中,我假设)重新启动程序?此外,一种方法可能是定时循环/检查?
问问题
1308 次
2 回答
0
我同意其他人对修复内存泄漏的看法。
如果要重新启动程序,请创建第二个应用程序来监视第一个进程。然后,当您的原始应用程序中的内存过高时,安全地关闭它并允许第二个应用程序再次启动它。
于 2013-10-16T01:39:02.760 回答
0
您可以使用GC.GetTotalMemory
. long
它返回您的程序分配了多少内存的近似值 ( )。
您可以创建一个Timer
对象并在Tick
事件处理程序下进行比较。
有关更多信息,您可以查看此处:http: //msdn.microsoft.com/en-us/library/system.gc.gettotalmemory.aspx
于 2013-10-16T01:11:20.573 回答