CPU使用率在一段时间内保持超过限制时发出警报

时间:2010-08-04 09:33:32

标签: c#

我有一个Windows 2003 Server,我需要对服务进行编码,当cpu使用率超过90%超过5分钟时,该服务会通过电子邮件发送给我。我怎么能这样做?

3 个答案:

答案 0 :(得分:3)

首先,您将读取处理器负载,如:

How to get the CPU Usage in C#?

其次,您必须使用一个计时器来检查某个时间间隔内的处理器时间。当我们谈话5分钟时,.Net的标准计时器足够精确。间隔可能是几秒钟。在勾选时,您测量CPU,如果它低于90%,则重置一些start-DateTime,如果它超过90%,则检查start-DateTime是否超过5分钟。

最后你需要发送这样的邮件:

Sending E-mail using C#

这种方式使用一个SMTP服务器,您可以在本地安装,或者您可以正确地为您的某个电子邮件等设置SMTP。您也可以发送邮件而不会产生更多开销。搜索Stackoverflow:)

答案 1 :(得分:1)

您的Windows服务需要定期联系WMI in a manner similar to this并确定是否通知您。

答案 2 :(得分:1)

以适当的间隔阅读相应的性能计数器。如果收集的数据符合您的标准,则执行您想要的操作。

许多类似的事情已经可以通过性能监视器的警报(包括启动应用程序)等工具完成。