繁体   English   中英

当CPU使用率超过限制一段时间时发出警报

[英]Alert when CPU usage stays over a limit for a period of time

我有一台Windows 2003 Server,我需要编写一项服务,当cpu的使用率超过90%超过5分钟时,它将向我发送电子邮件。 我该怎么办?

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

如何在C#中获取CPU使用率?

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

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

使用C#发送电子邮件

这种方式使用的是SMTP服务器,您可以在本地安装它,也可以为其中的一封电子邮件等安装适当的SMTP。还可以发送邮件而不会增加开销。 搜索Stackoverflow :)

您的Windows服务将需要以类似于这种方式的方式来调用WMI,并确定是否通知您。

以适当的时间间隔读取适当的性能计数器。 如果收集的数据符合您的条件,请执行所需的操作。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM