Performance 发送ping会随着时间的推移提高内存使用率

Performance 发送ping会随着时间的推移提高内存使用率,performance,memory,cpu,ping,Performance,Memory,Cpu,Ping,我有一个网络程序,用静态IP监控一些控制器。我的程序有一个IP地址列表,我定期使用定时器ping所有这些地址,以检查某些控制器是否脱机 程序挂起几天后,CPU已达到100%。跳过发送ping时,程序运行正常。我现在发现,在每次发送例程之后,程序都会增加一些K的内存使用量。我的ping程序一定有问题吧 Ping pgCheck = new Ping(); try { stStatus = pgCheck.Send(arData[i, 6], 900000).Status.ToString(

我有一个网络程序,用静态IP监控一些控制器。我的程序有一个IP地址列表,我定期使用定时器ping所有这些地址,以检查某些控制器是否脱机

程序挂起几天后,CPU已达到100%。跳过发送ping时,程序运行正常。我现在发现,在每次发送例程之后,程序都会增加一些K的内存使用量。我的ping程序一定有问题吧

Ping pgCheck = new Ping();
try
{
    stStatus = pgCheck.Send(arData[i, 6], 900000).Status.ToString();
}
catch
{
    //Ping failed, write it to log...
}
finally
{
    pgCheck.Dispose();
    GC.Collect();
    GC.WaitForPendingFinalizers();
}

Ping在我的示例[pgCheck.Send(…)]的第4行执行。你是什么意思?对不起,我的业余理解。我不是每天使用C#的。这是900000个数据包的数量吗?这是以毫秒为单位的超时。虽然一个非常低的值也没有任何效果。上面的代码是否在一个永无止境的循环中?您可以尝试使用pgCheck.Dispose(true)而不是Dispose(),并在每次运行后调用垃圾收集器cleanups,但是在完成一组ping之后。ping的15分钟超时对于通常在一秒钟内完成的事情来说似乎有点高,但这可能是上述函数之外的代码内存泄漏