我有一个用 c# 编写的非常简单的 Windows 窗体应用程序,它每 30 秒触发一次计时器以检查特定进程是否正在运行。
private void timer1_Tick(object sender, EventArgs e)
{
Process[] localByName = Process.GetProcessesByName("ahost");
if (localByName.Length > 0)
{
//the process is running...do nothing
}
else
{
//send me an email
timer1.Enabled = false;
}
}
由于它正在寻找的过程基本上总是在运行,我根本没有点击电子邮件代码else
。
这是内存使用情况:
启动 3,580 启动 +1 分钟 3,724 启动 +10 分钟 7,484 启动 +30 分钟 8,024 启动 +60 分钟 7,604
我是否应该假设 GC 正在完成它的工作,因为该应用程序在一小时内只将其内存占用量增加了一倍?
这是标准的 GC 行为吗?
我的小 EXE 是在 VS2010 中针对 .NET Framework 3.0 编写的,并且在 Win2008 R2 服务器上运行。